Basic Web Service Concepts and a Simple Application
概述
Web Service不是Dot Net中才有的新技术,Dot Net框架简化了Web Service的应用。Web Service允许Web Server发布特定的方法服务,这些服务可以由客户端远程调用。这是一种分布计算的方法。Web Service应用SOAP (Simple Object Access Protocol,简单对象访问协议)协议来传输数据。SOAP把数据格式化为XML格式,应用标准HTTP连接传输数据。通过SOAP协议,应用程序可以容易地穿过防火墙和其他一些障碍来传输数据。
Dot Net Web Service由三部分组成
The Web Service Server:
就是IIS服务器,能够执行ASP.NET程序,Web Service以ASP.NET的形式发布,文件扩展名为.asmx。
The Proxy Object:
客户端和服务端交互需要用到Proxy Object。微软提供工具将Web Service Server发布的服务生成Proxy Object。(根据Web Service页面用工具生成的C#类的代码)
The Client Application:
就像一般的Windows程序一样。通过Proxy Object,客户端调用Web Service就像调用本地方法一样。
一个例子:
服务端程序:(AddService,实现两个整数相加,以asp.net为载体)
<%@ WebService Language="c#" Class="AddService"%>
using System;
using System.Web.Services;
[WebService(Namespace="http://localhost/test")]
public class AddService : WebService
{
[WebMethod]
public int Add(int a, int b)
{
int answer;
answer = a + b;
return answer;
}
}
生成Proxy Object:
应用Dot Net Sdk的wsdl.exe工具,以相应Web Service为参数,将会生成一默认同Web Service服务文件名相同,扩展名为.cs的源文件。这个文件里是描述Web Service服务的类,自动包括Web Service服务提供的方法的同步版本和异步版本,非常方便。在Visual Studio.net中这个过程可以通过在客户端程序中添加网络Reference的方法自动生成。(注意此处参数不能是本机文件地址,而应是uri。WSDL,是Web Service Defination Language的缩写)
wsdl.exe http://222.18.3.253/addservice.asmx
生成的AddService.cs文件可以编译为.dll应用,也可以编译进客户端程序中。
客户端程序:
using System;
class ServiceTest
{
public static void Main ()
{
AddService service = new AddService();
int x = 83;
int y = 41;
int sum = service.Add(x, y);
Console.WriteLine("The answer is:");
Console.WriteLine(" {0} + {1} = {2}", x, y, sum);
}
}
一个简单的Web Service Server和Web Service Client就做好了。
浙公网安备 33010602011771号