IIS 6.0 的莫名上传错误(ASP错误:0104:0x80004005 )
Windows2003,当在IIS6上下载(/上传)大文件时,
会出现错误(log文件中):80004005Response_Buffer_Limit_Exceeded。
原因:IIS6有一个缺省的设置:AspBufferingLimit=4194304是4M。
解决办法:将AspBufferingLimit的值增大到合适的大小。
步骤:
1.修改IIS设置,允许直接编辑配置数据库
管理工具->IIS管理器里,选择计算机,右键,选择属性,然后选中“EnableDirectMetabaseEdit”.
2.修改IIS配置文件
1).先在服务管理器里关闭iisadminservice服务
管理工具->服务->iisadminservice->停止。
2).用文本编辑器打开C:\Windows\System32\Inesrv\下的Metabase.xml文件
注意:修改文件之前请先备份。
3).修改对下载文件大小限制
找到AspBufferingLimit,把它修改为你所需的大小。
例如:AspBufferingLimit="8388608"(8M)
修改对上传文件大小限制
找到ASPMaxRequestEntityAllowed把他修改为需要的值,默认为204800,即200K把它修改为你所需的大小。如:8388608(8M)
例如:AspRequestQueueMax="8388608"
4).然后开启www服务
管理工具->服务->WorldWideWebPublishingService->开启
备注:
也可以直接在控制台命令行运行ADSUTIL.VBS更改此值。不用停止IIS。
例如改为8M:运行“ADSUTIL.VBSSETW3SVC/AspBufferingLimit8388608”
另外,可以在控制台命令行直接停止和启动IIS。
停止:“Netstopiisadmin/y”
启动:“Netstartw3svc”
也可以使用IIS6ResourceKit中的MetabaseExplorer(MBExplorer.exe)(代替Metaedit2.2)编辑。
IIS6ResourceKit的下载地址:
http://support.microsoft.com/kb/840671
IIS6命令行工具的说明: