您的位置:首页 > 编程语言 > ASP

Asp.Net中应用Web Service示例

2008-07-28 13:53 495 查看
周末的时候和朋友一起研究项目里的技术问题后,我们把各自研究的东西展示了下,当大家展示到WebService的时候,觉得这个很不错,而且有很多好处和利用价值,所以我们决定深入学习这方面的技术。但是在网上搜索到的也都是些很多觉得看了还不能满足的,不过下面的一篇文章,倒是和我们现实项目可以挂钩的技术,入了门槛的话就好办了!所以很感谢这位仁兄启发我们研究的欲望和解决难办的疑问。内容如下:

第一, 新建网站,选择类型为asp.net web 服务。

系统自动为你建立了个文件service.asmx.这就是一个最简单的web service服务。你可以直接运行查看效果。
第二,我们需要的是修改service.cs中的代码,来满足我们的要求。
修改后的Service.cs中的代码为:
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;



[WebService(Namespace = "http://127.0.0.1/")] //调用此web service的地址
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public Service () {
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
//[WebMethod]
//public string HelloWorld() {
// return "Hello World";
//}

/// <summary>
/// 判断一个数是不是质数 by flysky 2008-04-25
/// </summary>
/// <param name="number">要判断的数</param>
/// <returns>返回结果</returns>
[WebMethod(Description = "判断一个数是不是质数")] //声明此函数为web service方法,可以供外 界调用
public string IsPrimeNumber(int number)
{
// 以下为算法,貌似不是最优的
string value = "";
if (number <= 0)
{
value = number.ToString() + "is not prime number";
return value;
}
else
{
for (int i = 2; i < number / 2; i++)
{
if (number % i == 0)
{
value = number.ToString() + "is not prime number";
return value;
}
}
value = number.ToString() + "is prime number";
return value;
}

}

}
第三,你现在就可以直接运行了,效果如下。



你可以点击函数名,测试。



点击调用按钮后,以xml的形式显示结果。



至此,一个简单的web service程序就做好了。是不是很简单?呵呵,别急,下面将如何在web开发中调用web service。
第一,确认你要引用的web service服务当前是开启的。
第二, 要在网站中添加对此web service的调用。我们新建一个网站,右键点击项目属性选择添加web引用,然后输入要引用的web service的url,点击确定即可。



这个时候系统会自动添加引进过来的文件。



第三, 使用此web service。有一个页面show.aspx来让用户输入一个整数,我们通过调用web service来向用户反馈结果。
Show.aspx页面代码为:



<%@ Page Language="C#" AutoEventWireup="true" CodeFile="show.aspx.cs" Inherits="show" %>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
请输入要判断的整数:<asp:TextBox ID="TextBox1" runat="server" Width="98px"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="确定 " OnClick="Button1_Click" /> <br />
<asp:Label ID="Label1" runat="server"></asp:Label></div>
</form>
</body>
</html>
Show.aspx.cs中页面代码为:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;



public partial class show : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
int number = Convert.ToInt32(TextBox1.Text); //获取文本框的值,并转化 为int型
WebReference.Service se = new WebReference.Service(); //实例化要调用的 webservice对象
Label1.Text = se.IsPrimeNumber(number); //调用webservice的函数,输出结 果
}
}
运行效果为:



怎么样?现在对web service已经有了一定的了解了吧!关于它的更深技术还要我们一起钻研啊。
另外附上参考文章:http://www.cnblogs.com/salonliudong/archive/2007/06 /16/785604.html,这里有更详细的说明。
感谢:http://www.huangbowen.net/post/web-service-eaxmple.html
通过上面的文章,基本上了解了最基础以及较重要的技术方面的内容,为今后深层次研究打下基础。其实之前也研究了ashx这样的文件,通过这个和jquery实现了网上转载的非常热dropdownlist几级无刷新联动的问题。觉得也是很好用!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: