第二步:Visual Studio .NET创建了一个Web Service的框架,甚至提供了一个Web Service的方法HelloWorld(),我们用我们自己的代码来改写VS生成的代码,大家可以自己Copy下面的代码覆盖生成的类。
/****************************************************** * Author : Sean Yang * Email : 53049711@qq.com * Create date: 2012-06-03 22:54:58 * Class Name: CalculatorWS * Clrversion :2.0.50727.3053 * Blogurl : http://www.ourcodelife.com/?2 * Description:Web Service学习指引 ******************************************************/ using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace CalculatorWS { /// /// Service1 的摘要说明 /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 // [System.Web.Script.Services.ScriptService] public class Service1 : System.Web.Services.WebService { public double Add(double x, double y) { return x + y; } [WebMethod] public double Sub(double x, double y) { return x - y; } [WebMethod] public double Mult(double x, double y) { return x * y; } [WebMethod] public double Div(double x, double y) { return x / y; } [WebMethod] public double Pow(double x, double y) { double retVal = x; for (int i = 0; i < y - 1; i++) { retVal *= x; } return retVal; } } }
第三步:测试Web Service,生成我们的项目后,右击Service1.asmx文件,在浏览器中查看如下图
如果有兴趣的同学可以在浏览器里输入http://localhost:1267/Service1.asmx?wsdl查看WSDL约定
第四步:客户端创建代理,不要被吓到,创建代理类非常简单,我们打开Visual Studio命令行,输入wsdl命令,后面带着指向WWSDL编写的路径。见下图
结果会生成一个名叫Service1.cs的C#客户端文件,大家打开文件看见系统已经帮我们完成了代理类。
第五步:调用我们刚才生成的Web Service代理类,新建一个控制台应用程序,将刚才生成的Service1.cs加入到项目中来(别忘记添加System.web.Service的引用哦),然后输入下面的测试代码
class Program { static void Main(string[] args) { Program p = new Program(); p.Run(); }
public void Run() { int var1 = 5; int var2 = 7;
Service1 theWebSve = new Service1(); Console.WriteLine("{0} - {1} = {2}",var1,var2,theWebSve.Sub(var1 , var2)); } }
这样整个创建Web Service,调用Web Service过程就结束了,最后展示一个程序运行的结果
如果同学们还有不明白的地方,请进入程序人生论坛与我交流,谢谢!