如何配置 web.config 以允许任何长度的请求
我正在构建一个网站,我想在其中从文本区域元素的值创建一个文件客户端。
我有代码来执行此操作,但我收到此错误
HTTP 错误 404.15 - 未找到 请求筛选模块配置为拒绝查询字符串过长的请求。
有没有办法覆盖它,以便我能够处理任何大小的请求?
如果没有,有没有办法在不使用文件系统/活动x对象的情况下在客户端生成文件?
谢谢
我正在构建一个网站,我想在其中从文本区域元素的值创建一个文件客户端。
我有代码来执行此操作,但我收到此错误
HTTP 错误 404.15 - 未找到 请求筛选模块配置为拒绝查询字符串过长的请求。
有没有办法覆盖它,以便我能够处理任何大小的请求?
如果没有,有没有办法在不使用文件系统/活动x对象的情况下在客户端生成文件?
谢谢
将以下内容添加到您的 web.config 中:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxQueryString="32768"/>
</requestFiltering>
</security>
</system.webServer>
看:
http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/requestLimits
已更新以反映注释。
requestLimits 用于 requestFiltering [IIS Settings Schema]
您可能还必须在 web.config 中添加以下内容
<system.web>
<httpRuntime maxQueryStringLength="32768" maxUrlLength="65536"/>
</system.web>
当然,上面配置设置中的数字(32768 和 65536)只是示例。您不必使用这些确切的值。
在我的情况下( Visual Studio 2012 / IIS Express / ASP.NET MVC 4 app / .Net Framework 4.5 ),经过30分钟的反复试验后,真正起作用的是设置标签中的属性:maxQueryStringLength
<httpRuntime>
<httpRuntime targetFramework="4.5" maxQueryStringLength="10240" enable="true" />
maxQueryStringLength
默认为 。2048
更多关于它在这里:
我尝试按照@MattVarblow建议设置它,但它不起作用...这是因为我在Windows 8的开发计算机上使用IIS Express(基于IIS 8)。<system.webServer>
当我将应用部署到生产环境(Windows Server 2008 R2 与 IIS 7)时,IE 10 开始在具有长查询字符串的 AJAX 请求中返回 404 个错误。然后我认为问题与查询字符串有关,并尝试@MattVarblow的答案。它刚刚在IIS 7上运行。:)