Windows 2003,当在IIS6上下载(/上传)大文件时,
会出现错误(log 文件中):80004005 Response_Buffer_Limit_Exceeded。
原因:IIS6 有一个缺省的设置:AspBufferingLimit= 4194304 是4M。
解决办法:将AspBufferingLimit的值增大到合适的大小。
步骤:
1. 修改IIS设置,允许直接编辑配置数据库
管理工具->IIS管理器里,选择计算机,右键,选择属性,然后选中“Enable Direct Metabase Edit”.
2. 修改IIS配置文件
1). 先在服务管理器里关闭iis admin service服务
管理工具->服务->iis admin service->停止。
2). 用文本编辑器打开C:\Windows\System32\Inesrv\下的Metabase.xml文件 注意:修改文件之前请先 备份。
3). 修改对下载文件大小限制
找到AspBufferingLimit,把它修改为你所需的大小。
例如:AspBufferingLimit=”8388608″ (8M)
修改对上传文件大小限制
找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K 把它修改为你所 需的大小。如:8388608(8M)
例如:AspRequestQueueMax=”8388608″
4). 然后开启www服务
管理工具->服务->World Wide Web Publishing Service->开启
备注:
也可以直接在控制台命令行运行 ADSUTIL.VBS更改此值。不用停止IIS。
例如改为8M:运行 “ADSUTIL.VBS SET W3SVC/AspBufferingLimit 8388608” 另外,可以在控制台命令行直接停止和启动IIS。
停止:“Net stop iisadmin /y”
启动:“Net start w3svc”
也可以使用IIS6 Resource Kit中的Metabase Explorer (MBExplorer.exe)(代替Metaedit 2.2)编辑。
IIS6 Resource Kit的下载地址:
http://support.microsoft.com/kb/840671
http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en
IIS6命令行工具的说明: