WIN2003无法上传较大的文件Request对象错误解决方法
来源:asp之家 时间:2007-08-10 09:44:00
最近刚接触了公司的服务器,使用的是Windows 2003 server + IIS 6.0 服务器,在使用无组件上传文件时产生这个错误时:
Request 对象 错误 ’ASP 0104 : 80004005’ 不允许操作
请求对象错误 'ASP 0104 : 80004005'
操作被禁止
我就很奇怪为什么在本地运行好好的,到了服务器就出了问题,我想程序应该没有问题,于是就在网上查了些资料,才知道是IIS的默认设置问题。下面是转自网络的解决方法
原因:
IIS6.0 禁止上传超过 200kB 的文件. 因此你需要修改 IIS 的默认设置.
技术背景
在 IIS 6.0 中, AspMaxRequestEntityAllowed 属性指定了一个 ASP 请求(Request)可以使用的最大字节数. 如果 Content-Length 头信息中包含的请求长度超过了 AspMaxRequestEntityAllowed 的值, IIS 将返回一个 403 错误信息.
这个属性值与 MaxRequestEntityAllowed 相似, 但是是针对 ASP 请求的. 假如你知道自己的 ASP 应用只需要处理很少的请求数据, 你可以在 World Wide Web Publishing Service (WWW 发布服务)层级设定全局的 MaxRequestEntityAllowed 属性为 1MB, 并单独设定 AspMaxRequestEntityAllowed 为一个较小的值.
解决方法
首先停止 IIS 服务,打开位于 C:\Windows\System32\Inetsrv 中的 metabase.XML, 并修改 AspMaxRequestEntityAllowed 为你需要的值(例如 1073741824, 1GB).建议不要太大,一般的数码照片小于2m,软件50m以内。
注意:
打开IIS,在你的计算机名(根目录)右键选择属性,在允许直接编辑配置数据库复选框前打钩
然后才是在服务里关闭iis admin service服务
找到windows\system32\inetsrv\下的metabase.xml,
打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K
然后重启iis admin service服务
否则你修改后不能保存该文件,也即不能修改。
呵呵,按照步骤做后,问题解决。