asp.net 开发问题:Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值。

时间:2021-04-10 22:36:08

  "Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值。"

这个问题在开发需要上传文件的时候可能会遇到,今天遇到这个问题,百度过也有挺多的修改方法。

方法1:

修改IIS的applicationhost.config
文件位置: %windir%/system32/inetsrv/config/applicationhost.config
                    或
                   %windir%\system32\inetsrv\config\applicationhost.config
找到<requestFiltering>节点,该节点下默认没有<requestLimits maxAllowedContentLength="上传大小的值(单位:byte)" /> 元素。为这个节点添加如下元素:
<requestLimits maxAllowedContentLength="2147483647" /> (上传的大小将改为2G)

但是我发现 没有这个路径,后来查到 没有装 IIS(在别人的电脑上做的,平时直接用vs调试运行,没去管它),

可是装完改了之后,还是会出错(可能是我添加的位置没对上?<requestFiltering>节点下应该没错呀)。

方法 2:

 web.config中添加如下内容:

<configuration>

    <system.web>

      <httpRuntime maxRequestLength="2097151" executionTimeout="120"/>

   </system.web>

</configuration>

通过实践添加了也还是没用。都急死我了。

后来再细心看了一些错误页面提示的可操作方法:

  • 确认 applicationhost.config 或 web.config 文件中的 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 设置。

在 applicationhost.config 配置过不行,那我在配置文件配置看看吧

于是我在web.config 的configuration节点下加上

<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483647"/>
</requestFiltering>
</security>

</system.webServer>

最后搞定了

ps: 在 applicationhost.config  那里改了没用我觉得应该是,它是本地 iis  的配置,而我这个调试的时候用的是vs的 iisExpress,所以才没有用,不知道对不对