天下第二博

Tian Xia The Second BO
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Sever2003与无组件上传的一个小问题

Posted on 2010-07-20 23:18  Nuke'Blog  阅读(160)  评论(0编辑  收藏  举报

一个asp的小项目,后台需要上传文件用了无惧上传类发现传一部分小文件ok较大文件则总是弹出错误Request 对象 错误 ASP 0104 : 80004005
不允许操作
/upfile.asp,行 53
53行是:oUpFileStream.Write Request.BinaryRead (Request.TotalBytes)

 因为以前用过很多次这个类,一直都很好,于是考虑到很可能是因为本身系统问题Windows Sever 2003的系统经过一番努力后,终于搞定了原因是在 IIS 6.0 中,默认设置是特别严格和安全的,最大只能传送 204,800 个字节,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击。(在 IIS 6.0 之前的版本中无此限制)

解决办法:
1、先在服务里关闭 iis admin service 服务。
2、找到 windowssystem32inetsrv 下的 metabase.xml 文件。
3、用纯文本方式打开,找到 ASPMaxRequestEntityAllowed 把它修改为需要的值(可修改为10M即:10240000),默认为:204800,即:200K。
4、存盘,然后重启 iis admin service 服务。


在 IIS 6.0 中,无法下载超过4M的附件时,可以按以下步骤解决:
1、先在服务里关闭 iis admin service 服务。
2、找到 windowssystem32inetsrv 下的 metabase.xml 文件。
3、用纯文本方式打开,找到 AspBufferingLimit 把它修改为需要的值(可修改为20M即:20480000)。
4、存盘,然后重启 iis admin service 服务。