频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

vs.net中web services入门(2)

作者: Tisten 出处:51CTO.com  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-01-11 16:30
关 键 词:.Net  VS  web services  入门
阅读提示:Microsoft® Visual Studio® .NET和XML Web services提供了一个简单、灵活且基于标准的模型,开发人员无论使用何种平台、编程语言或对象模型均可以编写组合应用程序。本文将帮助您快速学习使用Visual Studio.NET创建并访问XML Web services。本文包含一些指向英文站点的链接。

System.Web.Services.WebService 类

System.Web.Services.WebService 类定义了 XML Web services 的可选基类,并提供了直接访问常见 ASP.NET 对象(如应用程序和会话状态的对象)的权限。默认情况下,使用 Visual Studio 以托管代码的形式创建的 XML Web services 继承此类。XML Web services 可以继承此类以获得访问 ASP.NET 固有对象(如 Request 和 Session)的权限。

如果 XML Web services 没有继承此类,也可以从 System.Web.HttpContext.Current 访问 ASP.NET 固有对象。实现 XML Web services 的类必须是公共的,并且必须有一个公共的默认构造函数(不带参数的构造函数)。这样,ASP.NET 就能够创建 XML Web services 类的实例以处理传入的 XML Web services 请求。

有关详细信息,请参阅 Inheriting from the WebService Class。

WebService 属性

每个 XML Web services 都需要唯一的命名空间,它可使客户端应用程序区分出可能使用相同方法名称的 XML Web services。在 Visual Studio .NET 中创建的 XML Web services 的默认命名空间是“http://tempuri.org/”。尽管命名空间类似于典型的 URL,但在 Web 浏览器中是不能查看的,它只是一个唯一标识符。

注意:您可能希望在包含有关您所提供的 XML Web services 信息的位置提供一个 Web 页。

WebService 属性提供以下属性:

◆Description
此属性的值包含描述性消息,此消息将在 XML Web services 的说明文件(例如服务说明和服务帮助页)生成后显示给 XML Web services 的潜在用户。
◆Name
此属性的值包含 XML Web services 的名称。默认情况下,该值是实现 XML Web services 的类的名称。Name 属性标识 XML Web services 的 XML 限定名称的本地部分。Name 属性也用于在服务帮助页上显示 XML Web services 的名称。
◆Namespace
此属性的值包含 XML Web services 的默认命名空间。XML 命名空间提供了一种在 XML 文档中创建名称的方法,该名称可由统一资源标识符 (URI) 标识。使用 XML 命名空间,可以唯一标识 XML 文档中的元素或属性。因而,在 XML Web services 的服务说明中,Namespace 被用作与 XML Web services 直接相关的 XML 元素的默认命名空间。如果不指定命名空间,就使用默认命名空间 http://tempuri.org/

以下示例代码说明了 WebService 属性的用法:

' Visual Basic
http://MyServer/MyWebServices/", _
Description:="此处可以放一些描述性文字。",
Name:="MyFavoritesService")> _
Public Class Service1
Inherits System.Web.Services.WebService
' 实现代码。
End Class

// C#
[WebService(Namespace="http://MyServer/MyWebServices/",
Description="此处可以放一些描述性文字。",
Name="MyFavoritesService")]
public class Service1 : System.Web.Services.WebService
{
// 实现代码。
}

有关详细信息,请参阅 Using the WebService Attribute。

WebMethod 属性

以托管代码创建 XML Web services 时,通过在 Public 方法声明之前放置 WebMethod 属性可以指定在 XML Web services 中可用的方法。Private 方法不能充当 XML Web services 的入口点,尽管它们可以采用相同的类并且 XML Web services 代码可以调用它们。WebMethod 属性必须应用到可用作 XML Web services 一部分的每种公共方法中。

WebMethod 属性包含配置 XML Web services 行为的几个属性。例如,可以使用此属性在相关服务帮助页提供一个简短说明。

WebMethod 属性提供以下属性:

◆BufferResponse
当设置为 True(默认设置)时,ASP.NET 将响应向下发送到客户端之前先缓存整个响应。缓存是一种非常有效的方法,可以通过减少辅助进程和 Internet 信息服务 (IIS) 进程之间的通信来提高性能。当设置为 False 时,ASP.NET 会将响应缓存在 16 KB 的区块中。通常,只有在不想一次将响应的全部内容都缓存在内存中时,才将此属性设置为 False。例如,正在写回一个将项流出数据库的集合。除非另行指定,否则默认值为 True。
◆CacheDuration
此属性的值指定 ASP.NET 缓存每个唯一参数设置结果所需的秒数。除非另行指定,否则默认值为 0,此设置将禁用结果缓存。
◆Description
此属性的值提供了对 XML Web services 方法的说明,显示于服务帮助页中。除非另行指定,否则默认值为空字符串。
◆EnableSession
当设置为 False(默认设置)时,ASP.NET 将无法访问 XML Web services 方法的会话状态。当设置为 True 时,XML Web services 可以直接从 HttpContext.Current.Session 访问会话状态集合;在继承了 WebService 基类的情况下,也可以使用 WebService.Session 属性进行访问。
◆MessageName
此属性的值使 XML Web services 能够使用别名来唯一标识重载的方法。除非另行指定,否则默认值为方法名。当为 MessageName 指定值后,结果 SOAP 消息会反映出此名称而不是实际的方法名。
◆TransactionOption
此属性的值指定 XML Web services 方法是否可以作为事务的根对象。虽然可以将 TransactionOption 属性设置为 TransactionOption 枚举类型的任意值,但是 XML Web services 方法仅有两种可能行为:它不参与事务(Disabled、NotSupported 和 Supported),或是创建新事务(Required 和 RequiresNew)。除非另行指定,否则默认值为 TransactionOption.Disabled。要使用此属性,需要向 System.EntERPriseServices.dll 添加一个引用。此命名空间包含的方法和属性,提供了可在 COM+ 服务中找到的分布式事务模型。

System.EnterpriseServices.ContextUtil 类允许您使用 SetAbort 或 SetComplete 方法设置该事务。

以下示例代码说明了 WebMethod 属性的用法:

' Visual Basic
Public Class Service1
Inherits System.Web.Services.WebService
CacheDuration:=60, _
Description:="一些描述性的文字",
MessageName:="RetrieveData")> _
Public Function GetBigChunkOfData() As DataSet
' 实现代码
End Function
End Class

// C#
public class Service1 : System.Web.Services.WebService
{
[WebMethod(BufferResponse=false,
CacheDuration=60,
Description="一些描述性的文字",
MessageName="RetrieveData")]
public DataSet GetBigChunkOfData()
{
// 实现代码
}
}

有关详细信息,请参阅 Using the WebMethod Attribute。


共6页: 上一页 [1] 2 [3] [4] [5] [6] 下一页
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看52473次)
·UML类图详解 (查看46951次)
·Java编程开发手册 (查看25172次)
·UML统一建模语言 (查看24155次)
·C#技术开发指南 (查看22515次)
·Java编程开发手册 (1195个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (304个砖)
·PB开发教程 (220个砖)
·.NET开发手册 (217个砖)
·Java编程开发手册 (653个好)
·Java基础教程 (569个好)
·.NET开发手册 (251个好)
·PB开发教程 (209个好)
·Delphi开发技术手册 (174个好)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有