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)只是示例.您不必使用这些确切的值.
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.
更多关于它:
我尝试将其设置<system.webServer>为@MattVarblow建议,但它不起作用......这是因为我在使用Windows 8的开发机器上使用IIS Express(基于IIS 8).
当我将应用程序部署到生产环境(带有IIS 7的Windows Server 2008 R2)时,IE 10开始使用长查询字符串返回AJAX请求中的404错误.然后我认为问题与查询字符串有关并尝试了@ MattVarblow的答案.它只适用于IIS 7. :)
如果您在运行 IIS 8.5 Web 服务器时遇到此问题,您可以使用以下方法。
首先,在您正在处理的IIS站点中找到“请求过滤”模块,然后双击它...
接下来,您需要右键单击下面显示的白色区域,然后单击名为“编辑功能设置”的上下文菜单选项。
然后最后要做的是将“最大查询字符串(字节)”值从2048更改为更合适的值,例如5000以满足您的需要。