Request对象错误ASP 0104:80004005不允许操作

分类:.Net知识问答| 发布:camnprbubuol| 查看: | 发表时间:2012/4/16

网站服务器是win2003系统
今天上传一个260K的附件
系统却提示:
Request 对象 错误 'ASP 0104 : 80004005'不 允许操作 /up/upload.asp,行 20。
奇怪,难道是程序有错误了,
立即到本地电脑win XP测试,
发现正常。
那应该是服务器 win2003的问题了。
服务器操作系统为Windows 2003 server + IIS 6.0 服务器,
原因:IIS6.0 禁止上传超过 200kB 的文件。因此需要修改 IIS 的默认设置。
请 进行如下操作:先在服务里关闭iis admin service服务,
找到位于 C:\Windows\System32\Inetsrv 中 的 metabase.XML 打开,
找到ASPMaxRequestEntityAllowed 把他修改为需要的值(如5120000即5M),
默认 为204800,即200K,然后重启iis admin service服务 。 
注意: 在编辑文件前如果没有停止 IIS 服务, 则无法保存修改后的文件 
若你想在iis运行的时候修改其配置文件,
则打开iis管理器,打开internet信息服务属性面板,
钩选“允许直接编辑配置数据库,
允许在iis运行时编辑iis配置数据库配置文件”。
【技术背景】   
在 IIS 6.0 中, AspMaxRequestEntityAllowed 属 性指定了一个 ASP 请求(Request)可以使用的最大字节数.
如果 Content-Length 头信息中包含的请求长度超过 了 AspMaxRequestEntityAllowed 的值, 
IIS 将返回一个 403 错误信息.    
这个属性值 与 MaxRequestEntityAllowed 相似,
但是是针对 ASP 请求的. 
假如你知道自己的 ASP 应用只需要处理很少的请求数 据, 
你可以在 World Wide Web Publishing Service (WWW 发布服务)层级设定全局 的 MaxRequestEntityAllowed 属性为 1MB, 
并单独设定 AspMaxRequestEntityAllowed 为一个较 小的值。 

 

Win2003的IIS 6.0对asp的上传文件大小为200K的限制,ASPX的上传程序没有影响。 
在IIS6.0中,出于安全考虑,默认最大请求是200K(允许提交数据最大限额为200K Byte,204800 Byte)。这种默认设置是特别严格和安全的,可以最大限度地减少因以前太宽松的超时和限制而造成的攻击(IIS 6.0之前的版本无此限制)。 
解决办法一 
创建脚本文件CAMREA.vbs(假设保存在%SystemRoot%目录下): 
REM ================================================== ========================== 
Dim oProvider, oVirtualDir 
Set oProvider = GetObject("winmgmts:/root/MicrosoftIISv2") 
Set oVirtualDir = oProvider.Get("IIsWebVirtualDirSetting='W3SVC/1/RO OT'") 
WScript.Echo "当前允许ASP请求最大值: " & oVirtualDir.AspMaxRequestEntityAllowed 
oVirtualDir.AspMaxRequestEntityAllowed = 51200000 
oVirtualDir.Put_() 
WScript.Echo "设置成功" 
WScript.Echo "当前允许ASP请求最大值: " & oVirtualDir.AspMaxRequestEntityAllowed 
Set oVirtualDir = Nothing 
Set oProvider = Nothing 
REM ================================================== ========================== 
在命令行模式下执行:cscript %SystemRoot%CAMREA.vbs 
解决办法二 
修改IIS设置, 允许直接编辑配置数据库。 
关闭IIS Admin Service服务。 
打开%SystemRoot%system32inesrvMetaBase.xml,修改ASPMaxRequestEntityAllowed的值: 
默认值为204800(200K),修改为所需的大小(如:51200000),保存。 
重启IIS Admin Service服务。

365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/archives/548.html