WebService学习之WebMethod特性使用方法

  将 WebMethod 特性 (Attribute) 附加到 Public 方法表示希望将该方法公开为 XML Web services 的一部分。您还可以使用该属性 (Attribute) 的属性 (Property) 进一步配置 XML Web services 方法的行为。WebMethod 特性 (Attribute) 提供以下属性 (Property):

  BufferResponse

  CacheDuration

  Description

  EnableSession

  MessageName

  TransactionOption 

  下面分别针对这六个属性做说明:

  1、BufferResponse:获取或设置是否缓存该请求的响应。语法如下

  public bool BufferResponse { get; set; } 

  WebMethod 属性 (Attribute) 的 BufferResponse 属性 (Property) 启用对 XML Web services 方法响应的缓冲。当设置为 true(默认设置)时,ASP.NET 在将响应向下发送到客户端之前对整个响应进行缓冲。缓冲非常有效,它通过最小化辅助进程和 IIS 进程之间的通信来帮助提高性能。当设置为 false 时,ASP.NET 以 16KB 的块区缓冲响应。通常,只有在不想将响应的全部内容一次缓冲到内存时,才将该属性 (Property) 设置为 false。例如,您在反写一个集合,该集合正在以流的形式从数据库输出其项。除非另外指定,默认值为 true。   

  缓冲 XML Web services 方法的响应

  • 使用 WebMethod 属性 (Attribute) 的 BufferResponse 属性 (Property),如下所示:   

1public class Service1 : System.Web.Services.WebService
2
3    [System.Web.Services.WebMethod(BufferResponse=false)]
4    public DataSet GetBigData()
5    {
6       //implementation code
7    }

8}

   2、CacheDuration

  WebMethod 属性 (Attribute) 的 CacheDuration 属性 (Property) 启用对 XML Web services 方法结果的缓存。ASP.NET 将缓存每个唯一参数集的结果。该属性 (Property) 的值指定 ASP.NET 应该对结果进行多少秒的缓存处理。值为零,则禁用对结果进行缓存。除非另外指定,默认值为零。缓存 XML Web services 方法的结果

  • 使用 WebMethod 属性 (Attribute) 的 CacheDuration 属性 (Property),如下所示:

    Code

     

 

 

  摘自:http://msdn.microsoft.com/zh-cn/library/byxd99hx(VS.80).aspx

posted @ 2009-11-11 15:14  天空行马  阅读(3585)  评论(0编辑  收藏  举报