构造代理库
.NET 平台上的应用程序可以使用代理库来调用Web服务上的方法,这样使用Web服务就非常容易。生成代理库的第一步是从SDL中生成一个Web服务的代理类。.NET SDK提供了一个叫做WebServiceUtil.exe的工具,它能够帮助我们生成一个代理类。要生成Web服务的代理类,首先进入命令行环境,然后转到将要开发客户应用程序的那个目录,接着输入以下命令:
WebServiceUtil /c:proxy /pa:http://localhost/stockquote/StockQuote.asmx?SDL /n:Quotes
以上命令执行后,会在运行这个命令的目录中生成一个 C# 源代码文件,叫做 DailyStock.cs (要记住Web服务类的名称也是 DailyStock,)。现在来看这些自变量的含义:
l /c:proxy:告诉WebServiceUtil生成一个代理类
l /pa:http://localhost/stockquote/StockQuote.asmx?SDL:向SDL提供Web服务的路径。如果已经将Web服务的SDL 保存到了硬盘上,我们甚至可以提供SDL文件的本地路径。
l /n:Quotes:告诉WebServiceUtil将代理类放在 Quotes名称空间。这样做的目的是为了更容易地管理和使用代理库。
代理库准备好之后,我们使用C# 编译器从上面步骤中刚创建的代理类中生成一个代理库:
csc /target:library /r:System.dll;System.Web.Services.dll;System.Net.dll;
System.IO.dll;System.Xml.Serialization.dll DailyStock.cs
生成代理库的时候,我们使用了 /target:library开关以表示想要输出一个库文件。我们还引用一些曾经在Web服务中使用过的集合。编译器将在运行命令所在目录中生成一个名为DailyStock.dll 的dll 库。