如何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属性应该被删除。