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

时间: 2010-07-03 / 分类: 网站制作技术 / 浏览次数: 1,921 views / 0个评论 发表评论

老板说编辑有表格的论坛帖子竟然出错了

我看了一下,确实是提示

/bbs/inc/Dv_ClsMain.asp,行 95
Request 对象 错误 ‘ASP 0104 : 80004005’

搜索了一下,原来是这么个错误。跟上传文件大小有关的

这是WIN2003默认只允许上传200K数据的限制。你还没有打开这个限制。
解决方法在帮助中心。认真看看有关WIN2003的设置吧。

结果在自己的电脑上(ASP+IIS+WinXP),上传相同的文件时,又什么错误没有,这就说明问题不是代码的原因,而是服务器的配置问题。在网上Google了一下,提到的大多是metabase.XML这个文件的问题,按上面的说法,进行调整,问题果然解决相关见容如下:

先在服务里关闭iis admin service服务,找到位于 C:\Windows\System32\Inetsrv 中的 metabase.XML 打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值(如5120000即5M),默认为204800,即200K,然后重启iis admin service服务 。

注意: 有时即使IIS服务停止了,保存文件时还是提示无法保存(原因?我也不太知道),可以这样解决这个问题,设置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 为一个较小的值。

PS:其实修改那个文件可以先保存为其他名字,然后把原来的那个文件直接删除,把新文件改成需要的名字

最后面重启iis admin service服务后,所有网站都是停止状态,可以手工一个一个启动

发表评论

你必须 登录后 才能留言!