如何配置web.config以允许任意长度的请求
我正在建立一个网站,我想从textarea元素的值创建一个文件客户端。
我有代码来做到这一点,但我得到这个错误
HTTP错误404.15 - 未找到请求过滤模块配置为拒绝查询字符串过长的请求。
有没有办法来覆盖这个,以便我能够处理任何大小的请求?
如果没有,是否有办法生成文件客户端而不使用filesystem / active 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请求过滤元素[IIS设置架构]
您可能还需要在web.config中添加以下内容
<httpRuntime maxQueryStringLength="32768" maxUrlLength="65536"/>
请参阅:httpRuntime元素(ASP.NET设置架构)
当然,上述配置设置中的数字(32768和65536)仅仅是示例。 您不必使用这些确切的值。
在我的情况下(Visual Studio 2012 / IIS Express / ASP.NET MVC 4应用程序/ .Net Framework 4.5)在30分钟的试验和错误之后真正起作用的是在<httpRuntime>
标记中设置maxQueryStringLength
属性:
<httpRuntime targetFramework="4.5" maxQueryStringLength="10240" enable="true" />
maxQueryStringLength
默认为2048
。
更多关于它的地方:
扩大允许的URL范围
我试图在@MattVarblow建议的<system.webServer>
设置它,但它没有工作......这是因为我在Windows 8的开发计算机上使用IIS Express(基于IIS 8)。
当我将应用程序部署到生产环境(带有IIS 7的Windows Server 2008 R2)时,IE 10开始在带有长查询字符串的AJAX请求中返回404错误。 然后我认为这个问题与查询字符串有关,并且尝试了@ MattVarblow的答案。 它只是在IIS 7上工作。:)
还有一件事要检查:如果您的网站使用MVC,如果您将[授权]添加到您的登录控制器类,则可能会发生这种情况。 它不能访问登录方法,因为它没有被授权,所以它重定向到登录方法 - >繁荣。
链接地址: http://www.djcxy.com/p/1115.html上一篇: How to configure the web.config to allow requests of any length