LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

IIS6 ASP 0251超过响应缓冲区限制错误的解决方法

admin
2011年1月12日 15:14 本文热度 7976

情形1:上传下载时出此错误:

在测试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,在计算机名上点右键,选属性,勾选第一项“允许直接编辑配置数据库”,如果修改之后程序运行超时,可适当调整默认的超时时间,还有加大默认缓冲会不会导致其它问题我不清楚,由此引起的一切损失与本人无关,因此请自行决定是否采用.

情形2:正常读取记录出此错误:

本空间注:一般来说,这种错误经常并非真是IIS缓冲不够,而是代码错误,如使用:do while not RS.Eof格式时,忘了在其中加上RS.MoveNext导致的。

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

我们可以加大Buffer的缓冲区,办法是:

先在服务里关闭iisadminservice服务
找到windows\system32\inesrv\下的metabase.xml,
打开,找到 AspBufferingLimit 把他修改为需要的值,默认为4194304,即4096KB
建议把它修改为41943040(40M)或适合的数值,取决于服务器内存是否足够大。
然后重启iisadminservice服务。

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


该文章在 2011/1/12 15:14:20 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved