如何配置web.config以允许任何长度的请求

som*_*ool 134 javascript c# asp.net-mvc web-config query-string

我正在构建一个网站,我想从textarea元素的值创建一个文件客户端.

我有代码来执行此操作,但我收到此错误

HTTP错误404.15 - 未找到请求筛选模块配置为拒绝查询字符串太长的请求.

有没有办法覆盖这个,以便我能够处理任何大小的请求?

如果没有,有没有办法生成文件客户端而不使用文件系统/活动x对象?

谢谢

Mat*_*low 232

将以下内容添加到web.config:

<system.webServer>
  <security>
    <requestFiltering>
      <requestLimits maxQueryString="32768"/>
    </requestFiltering>
  </security>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

看到:

http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/requestLimits

更新以反映评论.

requestLilits requestFiltering的元素[IIS设置架构]

您可能还必须在web.config中添加以下内容

<system.web>
    <httpRuntime maxQueryStringLength="32768" maxUrlLength="65536"/>
</system.web>
Run Code Online (Sandbox Code Playgroud)

请参阅:httpRuntime元素(ASP.NET设置架构)

当然,上面配置设置中的数字(32768和65536)只是示例.您不必使用这些确切的值.

  • 仅此对我来说还不够.我还必须将它添加到system.web部分:<httpRuntime maxQueryStringLength ="8192"/> (22认同)
  • nnn是您要允许的最大字符串长度,例如32768 (2认同)
  • 注意:** &lt;httpRuntime&gt; **标记位于** &lt;system.web&gt; **下:&lt;system.web&gt; &lt;httpRuntime maxQueryStringLength =“ 32768” maxUrlLength =“ 65536” /&gt; &lt;/ system.web&gt; (2认同)

Len*_*rri 30

在我的情况下(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" />
Run Code Online (Sandbox Code Playgroud)

maxQueryStringLength默认为2048.

更多关于它:

扩展允许的URL范围


我尝试将其设置<system.webServer>@MattVarblow建议,但它不起作用......这是因为我在使用Windows 8的开发机器上使用IIS Express(基于IIS 8).

当我将应用程序部署到生产环境(带有IIS 7的Windows Server 2008 R2)时,IE 10开始使用长查询字符串返回AJAX请求中的404错误.然后我认为问题与查询字符串有关并尝试了@ MattVarblow的答案.它只适用于IIS 7. :)

  • 对我来说,是 enable="true" 使魔法发生了:) (2认同)

Ste*_*Cav 6

要检查的其他事项:如果您的站点使用MVC,如果您将[授权]添加到登录控制器类,则会发生这种情况.它无法访问登录方法,因为它未经授权,因此重定向到登录方法 - >繁荣.


Arv*_*wen 6

如果您在运行 IIS 8.5 Web 服务器时遇到此问题,您可以使用以下方法。

首先,在您正在处理的IIS站点中找到“请求过滤”模块,然后双击它...

在此处输入图片说明

接下来,您需要右键单击下面显示的白色区域,然后单击名为“编辑功能设置”的上下文菜单选项。

在此处输入图片说明

然后最后要做的是将“最大查询字符串(字节)”值从2048更改为更合适的值,例如5000以满足您的需要。

在此处输入图片说明