今天经理告诉我说看一下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”; //} /// /// 判断一个数是不是质数 by flysky 2008-04-25 /// /// 要判断的数 /// 返回结果 [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” %>
无标题页 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的函数,输出结 果 } } 运行效果为:
比较好的例子!我将代码整理了下,有兴趣的可下载源码! 注:IIS新建网站的时候1、运行脚本2、 执行(如ISAPI应用程序后CGI)要打勾! 否则不运行运行! 点击下载实例源码: