zoukankan      html  css  js  c++  java
  • 超过响应缓冲区限制

     Response 对象 错误 'ASP 0251 : 80004005'

    超过响应缓冲区限制

    /his/zygl/jzgl_left.asp,行 0

    此 ASP 页的运行造成响应缓冲区超过其配置限制。

    于是上网查找答案,得出下面结果,并顺利解决这个问题:

    由于页面中数据较多,有上千条,导致出现“超过响应缓冲区限制。此 ASP 页的运行造成响应缓冲区超过其配置限制”。假设
    response.buffer=false这样设的话,能够查出,可是好慢。怎么解决?

    我们能够加大Buffer的缓冲区,办法是:

    先在服务里关闭iisadminservice服务。

    找到 windowssystem32inesrv下的metabase.xml,打开,找到
    AspBufferingLimit 把他改动为须要的值,默觉得4194304,即4096KB,4M。

    建议把它改动为41943040(40M)或适合的数值,取决于server内存是否足够大。

    然后重新启动iisadminservice服务。

    注意事项:

    1、要注意server内存量是否足够。
    2、还有由于数据量比較大,对应的还要改动ASP处理时间,即:
    改动“AspScriptTimeout“ 默认值90(秒)
    改动“AspSessionTimeout“ 默认值20(分钟)。

    当您使用 Response.BinaryWrite 方法,在 IIS 6 中和 IIS 7 中时出现错误消息:"HTTP 500"或"超过响应缓冲区限制"

    http://support.microsoft.com/kb/944886/zh-cn

    当您将文件发送到client计算机从安装了 Web server上哪些 Internet Information Services (IIS) 7 或 IIS 6,您可能会收到类似于下面内容的一种在client计算机上一条错误消息:

    错误消息 1
    HTTP 500-内部server错误
    错误消息 2
    响应对象错误 ASP 0251: 80004005
    超出响应缓冲区限制
    ASP 页的运行引起响应缓冲区超过其配置的限制。
    错误消息 1

    此外,您可能会收到一条消息类似于下面内容,IIS 日志文件里:

    ASP_0251_:_80004005|Response_Buffer_Limit_Exceeded

    若要将文件发送到client计算机使用 Response.BinaryWrite 方法和 AspBufferingOn 属性设置为 False 时,会出现此问题。

    出现此问题的解决办法是当 ASP 响应缓冲被禁用时,IIS 会强制默认活动server页面 (ASP) 响应缓冲区值为 4 MB。

    在大多数的方案 4 MB 缓冲区限制足以为 ASP 响应发送到 Web client的。没有足够此限制时使用下列方法之中的一个。

    方法 1: 降低响应大小

    若要解决此问题时,使用 Response.BinaryWrite 方法和 ASP 缓冲处于关闭状态,验证返回给client的数据不大于 4 MB。

    假设响应,则大于 4 MB 的默认值此大小常常会导致较差的用户体验。在 Web 浏览器必须通过网络接收较大的响应。然后,在 Web 浏览器必须分析,并显示很大的 HTML 响应。

    方法 2: 启用 ASP 响应缓冲,而且添加缓冲区限制

    IIS 6 中您能够启用或禁用缓冲在应用程序级别使用 AspBufferingOn IIS 元数据库属性。有关 AspBufferingOn IIS 元数据库属性的具体信息,请訪问以下的 Microsoft 站点:

    http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/fbe1bd5f-52d4-4a26-8ab1-7bb897bb3d53.mspx (http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/fbe1bd5f-52d4-4a26-8ab1-7bb897bb3d53.mspx)

    注意IIS 7 中您能够启用或禁用 ASP 响应缓冲在应用程序级别的 <System.webserver> ASP 部分中使用 bufferingOn ApplicationHost.config 文件里或在 Web.config 文件里。

    若要启用或禁用缓冲页级别,您能够使用 Response.Buffer 属性。有关 Response.Buffer 属性的具体信息,请訪问以下的 MSDN 站点:

    http://windowssdk.msdn.microsoft.com/en-us/library/ms526001.aspx (http://windowssdk.msdn.microsoft.com/en-us/library/ms526001.aspx)

    假设您必须添加缓冲区限制,选择同意的最大的已知的响应大小的缓冲区限制。假设不事先知道最大响应大小,您能够将缓冲区限制添加到一个较大的值在測试过程中。在完毕測试后,出现的最大值在 sc 字节 中使用字段中 IIS 日志文件为页生成的响应。

    若要添加缓冲限制在 IIS 6 中的,请依照下列步骤操作:

    1. 单击 開始、 单击 执行,键入 cmd,然后单击 确定
    2. 键入以下的命令,然后按 ENTER 键:
      cd/d %systemdrive%inetpubadminscripts
    3. 键入以下的命令,然后按 ENTER 键:
      cscript.exe adsutil.vbs SET w3svc/aspbufferinglimit LimitSize
      注意LimitSize 表示缓冲的大小限制以字节为单位)。比如对于数 67108864 将缓冲的大小限制设置为 64 MB。

    若要确认已正确设置了缓冲区限制,请依照下列步骤操作:

    1. 单击 開始、 单击 执行,键入 cmd,然后单击 确定
    2. 键入以下的命令,然后按 ENTER 键:
      cd/d %systemdrive%inetpubadminscripts
    3. 键入以下的命令,然后按 ENTER 键:
      cscript.exe adsutil.vbs GET w3svc/aspbufferinglimit
  • 相关阅读:
    个人网站
    物理读,逻辑读,预读
    正则表达式
    面向对象五大基本原则
    工作总结
    sql性能优化
    sqlServer游标的使用
    ASP.NET安全[开发ASP.NET MVC应用程序时值得注意的安全问题](转)
    一个简单问题引发对IEnumerable和IQueryable的思考
    EFCodeFirst 各种命令整理
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4251106.html
Copyright © 2011-2022 走看看