Windows2003
系统下,上传较大的文件时,出现“
Request
对象
错误
'ASP 0104 : 80004005'
”错误。
更改
win2003
的
IIS 6.0
对
asp
的上传文件大小为
200k
限制,
aspx
的上传程序没有影响。在
IIS6.0
中,默认设置是特别严格和安全的,最大只能传送
204,800
个字节,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击。
IIS 6
出于安全考虑
,
默认最大请求是
200K(
也即最大提交数据限额为
200KByte
,
204800Byte)
。(在
IIS 6.0
之前的版本中无此限制)
解决方案
办法一:
第一步:修改
IIS
设置,允许直接编辑配置数据库。先打开,
Internet
信息服务,如下图:
第二步:先在服务里关闭
iis admin service
服务,找到
windows\system32\inesrv\
下的
metabase.xml,
打开,找到
ASPMaxRequestEntityAllowed
把他修改为需要的值,默认为
204800
,即
200K
,如把它修改为
51200000
(
50M
)。
然后重启
iis admin service
服务。
办法二:
新建一个文本文件,内容如下:
'----------------------------------------------------
set providerObj=GetObject("winmgmts:/root/MicrosoftIISv2")
set vdirObj=providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")
WScript.Echo "Before: " & vdirObj.AspMaxRequestEntityAllowed
vdirObj.AspMaxRequestEntityAllowed=51200000
vdirObj.Put_()
WScript.Echo "Now: " & vdirObj.AspMaxRequestEntityAllowed
'----------------------------------------------------
然后保存为
.vbs
文件,如:
vf.vbs
然后在命令行模式下,执行
cscript
文件路径及文件名,如:
cscript d:\vf.vbs
这样
ASP
上传大小就更改为了上面设置的:
51200000
字节
(50
兆
)
关于
win2003
上传限制解决方案的补充说明
到微软站点载了
IIS6 Resource Kit Tools
(
http://www.microsoft.com/downloads/details.aspx?FamilyID=56FC92EE-A 71A -4C 73-B628-ADE 629C 89499&displaylang=en
),安装后利用
Metabase Explorer
修改了
(local)\LM\W3SVC\AspMaxRequestEntityAllowed
属性(默认为
200K=204800
),修改为
1G
就是了;同时修改了
AspScriptTimeout
属性调整下时限,就可以上传大文件了。
此时发现
AspMaxRequestEntityAllowed
丢之,点右键添加
new
属性为
asp
,设置自己需要的大小,然后确定即可~~~
详细操作过程图片:
第一步:
到微软站点载了
IIS6 Resource Kit Tools
后,双击进行安装,出现如下界面:
第二步:
依次打开:开始-程序菜单-
IIS Resources
-
Metabase Explorer
,运行
Metabase Explorer
。
第三步:
在出现的窗口中填写相关信息:
第四步:
在程序窗口中选择
(local)\LM\W3SVC
第五步:
修改
(local)\LM\W3SVC\AspMaxRequestEntityAllowed
属性,修改为较大的值,如
1G
: