参数的数据类型
使用SOAP协议时,"通过值"以及"通过引用"这两种输入/输出参数形式都可被支持。如果是"通过引用"的参数类型,就会产生两种方式的数据发送效果:到服务器的以及返回到客户端的。但是,当通过HTTP GET/POST传递输入参数给Web Services时,就只支持有限的数据类型了,而且还必须是"通过值"形式的参数。这些类型如下:
| 类 型 | 含 义 | | 基础类型 (有限的) | 支持大数标准基础类型,包括: Int32、String、Int16、Int64、Boolean、Single、Double、Decimal、DateTime、TimeSpan、UInt16、UInt32、UInt64和Currency。从客户端来看,所有这些类型都转变为string。 | | 枚举类型 | 比如: "public enum color { red=1, blue=2 }"。 | | 基础类型数组,枚举类型数组 | 上述类型的数组,比如 string[]和int[] |
数据类型应用举例
下面的例子利用WebServiceUtil.exe建立的SOAP代理来使用上面列出的数据类型。注意:因为在.asmx文件中定义了多于一个的公用类,所以,我们必须要指定哪一个作为WebService类,这可以通过设置WebService标识的Class属性来实现,代码如下:
请看看下面的例子:
从上例中我们看到:
· SayHello方法显示从service中返回的一个字符串信息。
· SayHelloName方法返回一个字符串,并接受一个字符串参数。
· GetIntArray方法显示了如何返回一个整数数组。
· GetMode方法返回一个枚举数值。
· GetOrder方法返回一个类。
· GetOrders方法返回定单对象数组。
对于使用客户端应用程序而言,使用WebServiceUtil代理生成工具配置这些数据类型是透明的。请看关于上述Web Service的一个客户端例程:

DataTypesClient.htmx [点击这里运行程序] | [查看源代码]
结 语
以上通过一个简单例程讲述了.NET之ASP Web Services的概念及使用,并说明了WebServices中的数据类型。我们看到了如何使用三种不同的编程语言达到目的。你会发现,我们正在慢慢地触及.NET的神奇思想,领会.NET的震撼力量。我们有理由相信,凭借如此强大的工具,开发人员将更具创造力!
|