【知识要点】
(1)Web Service应用
【问题提出】
经常听说Web Service,那么如何定义与引用一个Web Service呢?
【在线指导】
如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题。因为客户端和服务器之间通常会有防火墙或者代理服务器。
如果中间层组件换成WebService的话,就可以从用户界面直接调用中间层组件,从经验来看,在一个用户界面和中间层有较多交互的应用程序中,使用 WebService这种结构,可以节省花在用户界面编程上20%的开发时间。
我们通过一个简单的加减运算来说明如何建立Web Service以及如何调用。
一、创建Web Service
1、设计界面
(1)打开Hello项目,单击“启动页>最近使用的项目>Hello”。
(2)在“解决方案资源管理器”中添加Web Service“Calculator.asmx”。
2、添加代码
(1)打开Calculator.asmx.cs页面,删除HelloWorld()代码。
(2)打开Calculator.asmx.cs页面,输入以下代码:
[WebMethod]
public int Add(int x, int y)
{
return x + y;
}
[WebMethod]
public int Sub(int x, int y)
{
return x - y;
}
编译并发布,然后我们可以使用:http://localhost:90/Calculator.asmx访问。
二、添加Web Service引用
1、在“解决方案资源管理器”中,单击右键选择“添加WEB引用”。
2、在“添加Web引用”窗口中,Url位置输入创建的Web Service路径,Web引用名输入:Calc,然后单击“添加引用(R)”按钮。
之后“解决方案资源管理器”中出现“Web References>Calc”。
三、调用Web Service
1、设计界面
(1)打开Hello项目,单击“启动页>最近使用的项目>Hello”。
(2)在“解决方案资源管理器”中添加“WebServiceInvoke.aspx”,添加按钮“调用Web Service”,其ID属性为:btnInvoke。
2、添加代码
双击“WebServiceInvoke.aspx”页面的“调用Web Service”按钮。
3、浏览页面
单击“WebServiceInvoke.aspx”按钮。
Web Service优点:
(1)优点一:跨防火墙的通信
如果应用程序有成千上万的用户,而且分布在世界 各地,那么客户端和服务器之间的通信将是一个棘手的问题。因为客户端和服务器之间通常会有防火墙或者代理服务器。
如果中间层组件换成WebService的话,就可以从用户界面直接调用中间层组件
(2)优点二:应用程序集成
企业级的应用程序开发者都知道,企业里经常都要把用不同语言写成的、在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量。
企业级的应用程序开发者都知道,企业里经常都要把用不同语言写成的、在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量。
(3)B2B的集成
用WebService集成应用程序,可以使公司内部的商务处理更加自动化。但当交易跨越供应商和客户、突破公司的界限时会怎么样呢?
用WebService来实现B2B集成的最大好处在于可以轻易实现互操作 性。只要把商务逻辑"暴露"出来,成为WebService,就可以让任何指定的合作伙伴调用这些商务逻辑,而不管他们的系统在什么平台上运行,使用什么 开发语言。这样就大大减少了花在B2B集成上的时间和成本,让许多原本无法承受EDI的中小企业也能实现B2B集成。
(4)优点四:软件和数据重用
软件重用是一个很大的主题,重用的形式很多,重用的程度有大有小。
WebService在通过Web进行互操作或远程调用的时候是最有用的。不过,也有一些情况,WebService根本不能带来任何好处。