在.NET中调用Web Service其实和创建Web Service一样简单。(完整代码示例位置:光盘\code\ch07\ WebAppClient)

实现步骤如下。

(1)首先我们创建一个ASP.NET Web 应用程序。

(2)添加Web Service引用。

在项目上单击鼠标右键,在弹出的快捷菜单中选择"添加Web 引用"命令,如图7-6所示,弹出"添加Web引用"对话框,如图7-7所示的窗口。

asp.net结构 asp net web_asp.net结构


 

图7-6  选择"添加Web引用"命令

asp.net结构 asp net web_asp.net结构_02


 

(点击查看大图)图7-7 

"添加Web引用"对话框

添加引用分以下3种情况。

如果是本解决方案中的Web服务,则选第一个,程序会自动转向解决方案中的服务地址。

如果是本计算机上的Web服务,则系统会自动寻找本机的Web服务,供你选择。

无论哪种情况,其最终目标都是在URL处输入相应的地址,进行加载,所以,我们可以在URL中输入Web服务的地址,无论是本地还是公网的都一样。 然后,单击"前往"按钮,则会列出Web服务的测试页和方法描述,同时验证项目是否能够使用 Web 服务,如图7-8所示。

asp.net结构 asp net web_代理类_03


 

(点击查看大图)图7-8  预览Web 引用

这时,我们在"Web引用名"文本框中,输入一个名称,我们将在代码中使用该名称以编程方式访问所选择的Web服务,单击"添加引用"按钮。

(3)此时,项目中多了一个名叫Web References的目录,如图7-9所示,自动生成的代理类就放在这里。

asp.net结构 asp net web_代理类_04


 

图7-9  Web引用

(4)单击工程中的解决方案资源管理器中的"显示所有文件"按钮,这时就可以看到那个代理类了,名叫Reference.cs。

(5)在代码中使用这个代理类基本上和使用本地普通类一样。

ProductService.LTPService service = 
new
 ProductService.LTPService();  
string
 price=service.GetProductPrice(
"001"
);

到此为止,ASP.NET调用Web Service的过程就完成了,整个过程只写了两行代码。