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 ServiceASP.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 Sdkwsdl.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 ServerWeb Service Client就做好了。

posted on 2004-07-05 23:36  星星之火  阅读(419)  评论(0)    收藏  举报

导航