asp超过响应缓冲区限制的解决方法
有人反应有些K歌听不了,有些就正常。
程序这边是通过获取到真实文件并用ADODB.Stream把它读出来实现的。
今天查错一下,发现有些会产生如下错误:
引用
Response 对象 错误 'ASP 0251 : 80004005'
超过响应缓冲区限制
/download_k2.asp,行 88
此 ASP 页的执行造成响应缓冲区超过其配置限制。
看了下,这首歌有4M多,考虑到前段时间将Win2000换为Win2003,应该是Win2003中的限制,原在Win2000下是正常的。
网上搜索一下,看到第一种方法,是在IIS中"主目录"-"配置"-"选项",将启用缓存前面的勾去掉,即禁用缓存。这样应该不行,禁用了对性能会有影响的,还是要开启的。
再搜索,看到如下解决方案:
引用
我们可以加大Buffer的缓冲区,办法是:
先在服务里关闭iisadminservice服务
找到windows\system32\inesrv\下的metabase.xml,
打开,找到 AspBufferingLimit 把他修改为需要的值,默认为4194304,即4096KB
建议把它修改为41943040(40M)或适合的数值,取决于服务器内存是否足够大。
然后重启iisadminservice服务。
注意事项:
1、要注意服务器内存量是否足够。
2、还有因为数据量比较大,相应的还要修改ASP处理时间,即:
修改"AspScriptTimeout" 默认值90 (秒)
修改"AspSessionTimeout" 默认值20 (分钟)
原文:http://aprain.com/article.asp?id=396
原来IIS6默认的缓存大小只有4M,我把41943040改成了8194304,大约8M不到,应该够用了。保存,提示保存不了。看来IIS运行的时候锁定了这个文件。net stop iisadmin,保存OK,再net start w3svc。
再试一下,问题解决:)