ASP页面中的响应缓冲区限制超出错误

时间:2012-04-17 09:41:39

标签: asp-classic buffer

错误: 响应对象错误'ASP 0251:80004005'

超出响应缓冲区限制

执行ASP页面导致响应缓冲区超出其配置的限制。

我使用此代码来解决此问题,但问题仍未解决

<% Response.Buffer=False %>
<%
do while not objrs.eof
response.flush
objrs.movenext
loop
%>

Plz,帮我解决这个问题

2 个答案:

答案 0 :(得分:5)

如果将Response.Buffer设置为false无效,那么您只需拨打一次Response.Write即可写入太多数据。

缓冲从未真正关闭过。每次调用Response.Write都会将内容写入ASP的缓冲区。使用Response.Buffer = False ASP将在每次调用Response.Write后自动刷新缓冲区。

因此,即使使用Response.Buffer = False,如果传递给Response.Write的字符串超过缓冲区大小,仍然可能会出现“缓冲区超出”错误。

如果你拥有服务器,那么我建议保留缓冲区,而不是在IIS管理器中增加ASP“响应缓冲限制”。如果您使用的是托管服务,则将通过Response.Write发送的任何大型数据拆分为较小的块,例如介于128KB到1MB之间。

答案 1 :(得分:1)

您无法合并response.buffer = falseresponse.flushresponse.buffer = falseresponse.write的使用应该是完美的。