第二步: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过程就结束了,最后展示一个程序运行的结果
如果同学们还有不明白的地方,请进入程序人生论坛与我交流,谢谢!