WebService

Web服务:
 服务请求者(用户/应用程序)、服务代理者(电话号码簿、114/商业、专有、私有注册中心)、服务提供者(电信/软件开发商)。
Web服务的三基石:
 SOAP(简单对象访问协议)、WSDL(Web服务描述语言)、UDDI(统一描述、发现和集成)

1.创建Web服务
 a.右键解决方案-添加新建项目-ASP.NET Web服务应用程序
 b.右键解决方案-添加新建网站-ASP.NET Web服务
2.调试Web服务
 把新建的服务/应用程序设为启动项目,.asmx设为启始页。F5运行。
3.添加Web服务引用
 右键项目-添加Web服务-输入Web服务地址-添加引用
4.调用Web服务
 把它当成一个类来使用,即实例化一个对象,再调用对象的方法。
 localhost.Service s = new MyApp.localhost.Service();
 Console.WriteLine(s.HelloWorld());
参考文章:http://www.cnblogs.com/zhuor/archive/2006/03/28/360844.html

5.代理类.
 a.为什么要用代理类:
  (1)Url域名配置:不确定最终用户的WebService服务器地址,这时用代理类可以通过配置Web.config来实现地址配置。
  (2)减少数据传输:可以对生成的代理类做处理,只取回自己想要的数据。如有一个查询天气的Web服务,它返回的是天气的所有信息,如温度,湿度等。但A客户只关心温度,这时就可以修改代理类,去掉大字段数据。
  (3)预处理效果:代理类可以引用远程的Web服务,在用户的应用程序中使用其功能,就像返回的数据是本地产生的一样。代理类可以把用户的参数处理成Web服务认识的数据格式,也可以把传回来的XML结果处理成用户想要的数据结果。
 b.创建和使用代理类
  步骤:
  (1)使用WSDL.EXE创建代理类。
  开始-所有程序-Microsoft .NET Framework SDK v2.0-SDK命令提示:打开控制台进入目录:C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0>。
  输入WSDL回车可查看参数。例子:在C盘下输出Service.asmx对应的代理类文件myService.cs,命名空间为myNameSpace,命令如下:
  wsdl /out:c:/myService.cs http://localhost:XXXX/MyWebService/Service.asmx n:/myNameSpace
  (2)使用CSC编译生成的CS文件为DLL文件。
   进入目录:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>。在C盘下输出代理类myService.cs对应的myWebSer.dll文件。命令如下:
   csc /out:c:\myWebSer.dll /t:library /r:system.xml.dll /r:system.web.services.dll c:\myService.cs
   (3)把生成的DLL引用到项目中,在调用页的aspx.cs中using myNameSpace,即可使用myNameSpace.Service类(不是类文件名,是类名)。
参考文章:
http://www.cnblogs.com/wgtboy/archive/2005/05/05/149643.html
http://www.cnblogs.com/xiaobaidhg/archive/2007/04/11/707956.html
http://blog.csdn.net/slimboy123/archive/2009/07/13/4344914.aspx

你可能感兴趣的:(webservice)