Web Service学习笔记:WebService特性和数组类型解析

昨天我写了前段时间的一些心得:创建一个示例和WebMethod特性解析,在创建Web服务时,会自动生成一段默认的代码:

Code


下面就来讲讲WebService的几个特性,虽然VS插入了一个默认的WebService特性,但是他是可选的。它包含三个属性:Description属性,Name属性和Namespace属性。

(1)Description属性

光看单词的含义就可以了解到它是一个Web服务的描述。只要在WebService特性中,设置了Description属性,那么在浏览器中就会显示出Web服务的帮助信息,它在SOAP信息中是可用的,并用此提示Web服务的使用者,能更快的理解这项服务。

(2)Name属性

当用浏览器打开Web服务时,在浏览器的标题栏会显示Web服务的名称,而Name属性则是改变服务的名称,默认情况下,Name的值是你添加的服务文件名。

(3)NameSpace属性

Web服务是一个XML的命名空间,而XML是允许在XML文档中创建名称的,每一个WebService特性必须有一个XML命名空间,只有这样才能保证它为应用程序的唯一识别。

像上面的代码,VS默认添加的是 WebService(Namespace = "http://tempuri.org/") ,一般情况下,都要使用唯一的一个名称来定义命名空间,譬如说我小站的网址(这个地址可以不是一个有效的URL)。

根据上面的解释,更改对应的属性,来看看效果,下面是我做的例子

Code


在浏览器中生成,下面是效果:(左边是修改过后的效果,右边是原来的效果)


 附件: 您所在的用户组无法下载或查看附件



(二)数据类型

Web服务可以使用基本的数据类型,但除了这些还可以使用数据和基本类型的ArrayLists,由于Web服务是通过XML与客户端之间传递的,那么无论使用参数或者返回值。

注:使用数组的主要限制是,必须在设计的时候,你就要知道数组中元素的个数,如果元素的数量是动态的,那么就应该使用ArrayList。
ArrayList包含在System.Collection命名空间中,所以要使用它,必须引用。


我做了个例子来试验这种说法,还是用我在上一篇文章中的二维数组。

Code


我想做的就是创建一个名叫GetAllStuInfo的Web方法,它的参数是字符串(学生的名字),该字符串跟二维数组中存储的学生名字进行比较(是姓还是姓名中包含的字符串,这个不考虑),服务会返回所有包含匹配字符串的所有信息。

代码如下:

Code



 附件: 您所在的用户组无法下载或查看附件

代码解释:
GetAllStuInfo方法首先初始化一个ArrayList,然后遍历所有的存储的学生姓名,String类的IndexOf方法在字符串中搜索,寻找匹配的字符串,如果找到一个匹配,它会返回第一个匹配项的索引。如果没有找到,则会返回-1.如上图,为什么返回给客户端的结果跟数组中的顺序不同,是因为对ArrayList进行了排序。




(文/VisualStudio  出处/博客园)

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Web Service] 的这些文章也感兴趣:

动态调用WebServices
定义web service接口的十点注意事项
ASP.NET创建Web服务之XML基础结构
美少年身后的那个人——柏原收史
有了Web Service,还需要.NET吗?
Web Service安全机制探讨
ASPX页Web服务调用性能优化
XML Web Service 安全性
WSE 3.0 文档翻译:为Web Service提供保护
ASP.NET创建Web服务之管理Web服务状态