http://weixing.me/asp-net/a-simple-asp-net-webservice-eg/
第一, 新建网站,选择类型为asp.net web 服务。
系统自动为你建立了个文件service.asmx.这就是一个最简单的web service服务。你可以直接运行查看效果。
第二,我们需要的是修改service.cs中的代码,来满足我们的要求。
修改后的Service.cs中的代码为:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
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页面代码为:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<%@ 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的函数,输出结 果 } } |
这是一个比较好的例子!我将代码整理了下,有兴趣的可下载源码!
注:IIS新建网站的时候
1、运行脚本
2、 执行(如ISAPI应用程序后CGI)要打勾!
否则不运行运行!
本文来自魏星博客简单的asp.net webservice 例子