在ASP.NET WebService 中如何使用 WebMethod 属性

  • Post author:
  • Post category:其他


如何:使用 WebMethod 属性



WebMethod

属性 (Attribute) 附加到

Public

方法表示希望将该方法公开为 XML Web services 的一部分。您还可以使用该属性 (Attribute) 的属性 (Property) 进一步配置 XML Web services 方法的行为。有关更多信息,请参见

托管代码中的 XML Web services 的代码模型

WebMethod 属性 (Attribute) 提供以下属性 (Property):


BufferResponse


WebMethod

属性 (Attribute) 的

BufferResponse

属性 (Property) 启用对 XML Web services 方法响应的缓冲。当设置为

true

(默认设置)时,ASP.NET 在将响应向下发送到客户端之前对整个响应进行缓冲。缓冲非常有效,它通过最小化辅助进程和 IIS 进程之间的通信来帮助提高性能。当设置为

false

时,ASP.NET 以 16KB 的块区缓冲响应。通常,只有在不想将响应的全部内容一次缓冲到内存时,才将该属性 (Property) 设置为

false

。例如,您在反写一个集合,该集合正在以流的形式从数据库输出其项。除非另外指定,默认值为

true

。有关更多信息,请参见

WebMethodAttribute.BufferResponse 属性 (Property)

缓冲 XML Web services 方法的响应

  • 使用

    WebMethod

    属性 (Attribute) 的

    BufferResponse

    属性 (Property),如下所示:

    Visual Basic

    Public Class Service1
        Inherits System.Web.Services.WebService
        <System.Web.Services.WebMethod(BufferResponse:=False)> _
        Public Function GetBigData() As DataSet
            'implementation code
        End Function
    End Class
    
    

    public class Service1 : System.Web.Services.WebService
    { 
        [System.Web.Services.WebMethod(BufferResponse=false)]
        public DataSet GetBigData()
        {
           //implementation code
        }
    }
    


CacheDuration


WebMethod

属性 (Attribute) 的

CacheDuration

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

WebMethodAttribute.CacheDuration 属性 (Property)

缓存 XML Web services 方法的结果

  • 使用

    WebMethod

    属性 (Attribute) 的

    CacheDuration



版权声明:本文为guyehanxinlei原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。