asmx服务应检索超过2000个项目

时间:2011-12-09 15:06:36

标签: asmx

我想从我的asmx服务中检索大量项目。一切正常,但当我试图检索超过2000项时,我得到500错误。我想我应该修复一些配置设置。请帮忙。我的配置

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <configuration>
    <system.web>
    <compilation batch="false" batchTimeout="6000" maxBatchSize="100000"   maxBatchGeneratedFileSize="100000" />
    <httpHandlers>
      <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=..." />
      <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </httpHandlers>
    <customErrors mode="On" />
    <globalization fileEncoding="utf-8" />
    <httpRuntime executionTimeout="36000" maxRequestLength="20480" />
    <webServices>
      <protocols>
        <add name="HttpGet" />
        <add name="HttpPost" />
        <remove name="HttpPostLocalhost" />
        <add name="Documentation" />
      </protocols>
     </webServices>
    </system.web>
  </configuration>

1 个答案:

答案 0 :(得分:2)

这是一个常见问题,当您需要向用户返回大量数据时,这里有几个注意事项:

  • 用户不需要那么多想要返回的数据
  • 用户宁可快速获得小结果,然后在收到整个数据块时等待很长时间
  • 您的服务器拥有许多用户和数量有限的内存

因此

  • 限制请求的数据并采用paging
  • 使用延迟加载进行小查询
  • 像GZIP一样使用压缩
  • 查看Large Data and Streaming
  • 转移到WCF,因为ASMX Web服务是一种过时的技术