如何configurationweb.config以允许任何长度的请求
我正在build立一个网站,我想创build一个文件客户端从一个textarea元素的值。
我有代码来做到这一点,但我得到这个错误
HTTP错误404.15 – 未find请求过滤模块被configuration为拒绝查询string太长的请求。
有没有办法来覆盖这个,所以我能够处理任何大小的请求?
如果没有,有没有办法生成文件客户端而不使用文件系统/活动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设置架构)
当然,上面的configuration设置中的数字(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范围
我尝试在@MattVarblowbuild议的<system.webServer>
设置它,但它没有工作…这是因为我在Windows 8的开发计算机上使用IIS Express(基于IIS 8)。
当我将应用程序部署到生产环境(带有IIS 7的Windows Server 2008 R2)时,IE 10开始在带有长查询string的AJAX请求中返回404错误。 然后我认为这个问题和查询string有关,并且试过@ MattVarblow的答案。 它只是在IIS 7上工作:)
还有一件事要检查:如果您的网站使用MVC,如果您将[Authorize]添加到您的login控制器类,则可能会发生这种情况。 它不能访问login方法,因为它没有被授权,所以它redirect到login方法 – >繁荣。
我有一个类似的问题,试图部署一个ASP Web应用程序到IIS 8.为了解决这个问题,我做了马特和列尼尔上面的build议。 但也必须configuration我的网站的身份validation设置启用匿名身份validation。 那为我工作。
HTTP错误404.15 – 未find请求过滤模块被configuration为拒绝查询string太长的请求。
为了解决这个问题,检查源代码Form
标签是否有一个属性method
是get / set状态。
如果是这样, method
属性应该被删除。