我正在使用 Asp Net Mvc 4 Web Api,我需要使用查询字符串长度 > 2000 个符号发出请求
我已经在 web.config 中设置了 maxQueryStringLength="10000" 参数。在我的开发人员机器上一切正常在 IIS 上,它仅在 querystring < 2000 个符号时才有效,但如果 querystring > 2000 个符号我得到一个错误:404 Not Found
有什么考虑吗?
我正在使用 Asp Net Mvc 4 Web Api,我需要使用查询字符串长度 > 2000 个符号发出请求
我已经在 web.config 中设置了 maxQueryStringLength="10000" 参数。在我的开发人员机器上一切正常在 IIS 上,它仅在 querystring < 2000 个符号时才有效,但如果 querystring > 2000 个符号我得到一个错误:404 Not Found
有什么考虑吗?
聚会迟到了,但是,这是我们为了摆脱它而改变的三点:
在web.config
中,添加httpRuntime
标签属性maxQueryStringLength
:
<system.web>
<httpRuntime maxQueryStringLength="32768" />
</system.web>
再次在 中web.config
,添加requestLimits
标签属性maxQueryString
:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxQueryString="32768" />
</requestFiltering>
</security>
<system.webServer>
如果仍然无法治愈,请从 IIS 配置ISAPI Filters
部分中删除 UrlScan
过滤器。最后一个在我的情况下成功了。但是,请注意,它会带来安全风险。
您是否还设置了 maxUrl 长度?
maxUrl 可选的 uint 属性。
指定 URL 的最大长度,以字节为单位。
默认值为 4096。
http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/requestLimits