"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,所以才没有用,不知道对不对