“超过响应缓冲区限制”“此 ASP 页的执行造成响应缓冲区超过其配置限制”问题的解决方法总结 - TOMMYHU - 专注互联网开发及运营技术,提供相关资料及软件下载,奇趣网络时事评论!
Mar 7

“超过响应缓冲区限制”“此 ASP 页的执行造成响应缓冲区超过其配置限制”问题的解决方法总结 不指定

tommyhu , 22:22 , ASP , Comments(0) , Trackbacks(0) , Reads(5743) , Via Original Large | Medium | Small
一开始出现错误提示:

Microsoft VBScript 运行时错误 错误 '800a000d'  类型不匹配:

检查发现是调用的函数名称拼写错误,汗一个!!
后来完成的时候查了一下,还有种可能是IE的一个更新(IE6的SP1的补丁)和Win2003 Server有冲突也会出现这样的问题,需要下载补丁解决
下载地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=254EB128-5053-48A7-8526-BD38215C74B2&displaylang=zh-cn

解决上面的问题后,出现如下错误提示

Response 对象 错误 'ASP 0251 : 80004005'

超过响应缓冲区限制

/list.asp,行 0

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


于是从网络上搜索问题,主要是下面的这种解决方案

转自:小毅's blog



今天在测试ASP做一个文件下载页面,用ADODB.Stream来操作文件下载达到隐藏真实路径的目的,因为是本地测试,所以一开始用的是一个63.8M的文件做下载测试,却提示如下的错误:

Response 对象 错误 'ASP 0251 : 80004005'

超过响应缓冲区限制

/showuser.asp,行 0

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

  想起IIS6下面文件上传默认的是200K,默认的缓冲会不会也有这个限制?于是将测试文件换成一个100K的,程序顺利通过,看来真是有这个限制,于是打开c:\windows\system32\inesrv\下的metabase.xml来看,搜索Buffer,一共找到四个,借助金山词霸确定是572行的AspBufferingLimit="4194304",换算了一下是4096(4M),于是将测试下载的文件又换成一个3.8M的,程序也顺利通过,再将测试文件换成一个5.1M的,又出现上面的错误,看来引起错误的原因应该是这个了,于是我在“4194304”加多了一个“0”,5.1的文件也可以顺利下载了,问题解决。

注意:改metabase.xml前必须先在服务里关闭iisadminservice服务,改完之后再重启IIS服务,或者打开IIS,在计算机名上点右键,选属性,勾选第一项“允许直接编辑配置数据库”,如果修改之后程序运行超时,可适当调整默认的超时时间,还有加大默认缓冲会不会导致其它问题我不清楚,由此引起的一切损失与本人无关,因此请自行决定是否采用.


注意事项:
1、要注意服务器内存量是否足够。
2、还有因为数据量比较大,相应的还要修改ASP处理时间,即:
修改"AspScriptTimeout" 默认值90 (秒)
修改"AspSessionTimeout" 默认值20 (分钟)

可是程序只是一个列表页面没有用到上传或下载文件,而且我将SQL语句从 “*所有”  减到“top1000”、“top500”直到“top1”问题依旧,于是排除这个问题的可能性,继续寻找。

由于发现页面打开的非常缓慢,最后才报这样的错误,猜想是否是列表的循环有问题(如死循环),于是检查程序,果真是这里的问题,修改后解决!最后上网查询该问题的解决方法,还真有人提到,就是死循环造成的,在汗一下。
希望对遇到这样问题的朋友能有点帮助。
▲返回顶部

Add a comment

Nickname

emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot