例程测试
当对service的请求发生时,.asmx文件将自动地被ASP.NET运行环境所编译。随后的请求就可以由缓冲的预编译类型对象执行。
为了测试编写好的代码,我们需用一个支持ASP.NET的Web服务器。假设这个Web服务器的名称叫做Foo,其上有一个虚拟目录Bar。请跟随下面步骤开始测试:
将代码保存为HelloWorld.asmx
放到Web服务器Foo的虚拟目录Bar下
打开Internet Explorer5,在地址栏输入http://Foo/Bar/HelloWorld.asmx
这时,我们将看到关于这个Web Service的公用方法-也就是那些标记为WebMethod属性的字符,并得知调用这些方法可以使用的协议,比如SOAP或者HTTP GET。
在Internet Explorer的地址栏中输入http://Foo/Bar/HelloWorld.asmx?SDL后,将产生基于服务描述语言(Service
Description Language :SDL)语法的具备相同信息的XML文件。这个SDL文件非常重要,客户端就是使用它来访问service。
从客户端进行访问
除了允许开发者使用的创建Web Services的技术以外,Microsoft的.NET框架给客户端提供了一套访问并使用Web Services的精致且高深的工具和代码。由于Web
Services是基于如简单对象访问协议SOAP(Simple Object Access Protocol)和HTTP这样的开放协议标准的,从而,我们就可以使用这种客户端技术使用非ASP.NET的Web
Services。当然,这也需用高水平地合成ASP.NET Web Services和这种客户端技术。
SDK中有一个工具叫做WebServiceUtil.exe,我们可以使用它来下载一个Web Services的SDL描述语言,并创建表达这个Service的代理类。比如,当我们输入以下命令,就可以创建一个叫做HelloWorld.cs的代理类:
WebServiceUtil /c:proxy /pa:http://someDomain.com/someFolder/HelloWorld.asmx?SDL
这个类看起来与前面创建的类非常相似。它包含一个方法SayHelloWorld,该方法返回一个字符串。将这个代理类编译到一个应用程序中,然后调用这个代理类的方法,结果就是:通过HTTP,这个代理类包装SOAP请求,然后接收SOAP编码响应,最后汇集成为一个字符串。
从客户端来看,代码是很简单的,返回的结果也很简单,就是一个字符串"Hello World"。同样为了对照方便,我们列出了使用VB、C#以及JScript三种语言编写的代码:
C# HelloWorld myHelloWorld = new HelloWorld();
String sReturn = myHelloWorld.SayHelloWorld();
VB
Dim myHelloWorld As New HelloWorld()
Dim sReturn As String = myHelloWorld.SayHelloWorld()
JScript
var myHelloWorld:HelloWorld = new HelloWorld();
var sReturn:String = myHelloWorld.SayHelloWorld();
Web Services 中的数据类型
通过上面的例程,你可能对Web Services有了初步的印象。下面,我们将介绍Web Services中涉及到的各种数据类型,也就是Web Services方法的输入/输出参数类型。因为Web Services的执行是建立在XML架构之上的,所以它能够支持丰富的数据类型。下表列出了使用SOAP协议时Web Services支持的数据类型:
|
正在阅读:.NET之ASP Web Services 快速入门.NET之ASP Web Services 快速入门
2004-02-14 09:33
出处:eNet学院
责任编辑:pjl
键盘也能翻页,试试“← →”键