将
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 BasicPublic Class Service1 Inherits System.Web.Services.WebService <System.Web.Services.WebMethod(BufferResponse:=False)> _ Public Function GetBigData() As DataSet 'implementation code End Function End Class
C#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