atlas客户端实现对webservice的调用

atlas客户端实现对webservice的调用

ID:33812157

大小:88.00 KB

页数:4页

时间:2019-03-01

atlas客户端实现对webservice的调用_第1页
atlas客户端实现对webservice的调用_第2页
atlas客户端实现对webservice的调用_第3页
atlas客户端实现对webservice的调用_第4页
资源描述:

《atlas客户端实现对webservice的调用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Atlas客户端实现对WebService的调用在Web应用程序中,一个典型的设计模式是应用程序暴露出WebService,并为用户提供用户界面。这样就构成了一个典型的N层架构:WebService以及其暴露的数据信息构成了一个资源层。然后Web应用程序部分对这个资源层进行包装并提供给用户,即构成了表示层。为了让用户可以使用这些WebService,开发者还需要创建一个运行于服务器端的应用程序,因为ASP.NET技术并不包含任何的可以完全在客户端为WebService提供代理的实现。还需要创建一个Web应

2、用程序,使用VisualStudio.NET或wsdl.exe生成WebService的代理,并用该Web应用程序实现这个代理。在Atlas中,终于可以完全在客户端实现对WebService的调用了。在创建Atlas客户端时,可以在ScriptManager的标签中添加元素,指向你的WebService。稍后可以看到示例程序。理论上,WebService非常适合用来完成被多个应用程序共同使用的业务逻辑。例如,在下面的示例程序中我将演示如何

3、编写一个计算汽车价值的WebService,汽车的价格将由它的生产厂商、型号以及出厂日期(用来计算折旧费用)决定。关于折旧费的计算比较有趣,因为折旧费用是与日期相关的,理论上这个计算将是一个存放在某台主机上的业务分析过程,所以它被设计成了WebService。本示例中使用一个简单的算法:每年的折旧费用固定为2000美元。(当然,现实世界中计算折旧费将更为复杂。)这时,你可能会认为,客户端应用程序也能实现同样的功能。但问题在于每台计算机都有它自己的时钟,而折旧费用中对时间的计算应该基于一个标准的时钟。因此,

4、在一个单独的地点进行这个计算是非常有必要的,同时因为允许远程调用,WebService也就成为了最理想的实现技术。所以,若想看到客户端直接调用WebService的实际效果,首先应该编写一个WebService。在项目中添加一个新的WebService,并将其命名为CarService.asmx。在此WebService中添加一个名为getCarValue的WebMethod,代码如下:这个粗略的计算将本田汽车(Honda)的价格计为30000美元,如果型号为Pilot,则计为40000美元。其他厂家的汽

5、车计为20000美元,如果型号为Pilot,则计为30000美元。每年的折旧费计为2000美元。接下来,创建一个WebForm,并将其命名为CalcCarValue.aspx。将一个AtlasScriptManager控件拖放到CalcCarValue.aspx的设计器中,再添加三个HTMLInput(Text)控件和一个Input(Button)控件,然后为上面三个Input(Text)控件分别添加标签Make、Model和Year,再分别指定这三个Input(Text)控件的id为txtMake、tx

6、tModel和txtYear。最后将按钮的text属性值设置为GetValue。设计器中的样子将如图3-15所示。图3-15 设计调用WebService的客户端应用程序接下来,切换到这个WebForm的源文件视图,找到标签。在其中输入一个标签,并在这个标签中创建一个ServiceReference实例,指向CarService.asmx。代码如下所示:最后,编写调用WebService代理的代码,并将页面上的那三个文本域的

7、值传递给该WebService。在设计视图中,双击GetValue按钮生成该按钮的事件处理函数。VisualStudio将自动切换至源文件视图(Sourceview),且光标将停留在Button1_onclick函数中。将下列代码添加到Button1_onclick函数中:在JavaScript中,可以用HTML控件所在的表单名作为前缀,加上该HTML控件的名称来得到这个控件的引用。在本示例中,表单名称为form1,因此通过form1.txtMake.value即可得到txtMake文本域中的值。WebS

8、ervice代理的名称和WebService本身的名称一致。在本示例中,WebService的类名为CarService,因此它的代理的名称也为CarService。很多情况下WebService将有一个以点号(.)分开的、层次化的名称(例如,MathFunctions.Services.DepreciationService),在这种情况下,它的代理也有着同样的名称。一种凭经验找到WebService名称的方法是查看.asm

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。