.NET Framework应用遇HTTP Error 404.15,非C#代码问题求解决
解决IIS中HTTP Error 404.15(查询字符串过长)的问题
既然同一份代码在同事环境正常,问题确实出在你的IIS或应用配置差异上,以下是具体解决步骤:
方式一:通过IIS管理器调整请求筛选设置
- 打开IIS管理器,定位到你的目标Web应用
- 双击功能列表中的「请求筛选」
- 在右侧操作面板点击「编辑功能设置」
- 在弹出窗口中,调大「最大查询字符串长度」(默认值为2048),根据实际需求设置为4096或更大;同时检查「最大URL长度」,如果整体URL也过长,同步调整该值
- 点击确定后,重启Web应用或应用池使配置生效
方式二:通过web.config配置(推荐,可同步环境配置)
直接在应用的web.config文件中添加/修改相关节点,确保配置和代码绑定,避免环境差异:
1. 配置IIS请求过滤限制
在<system.webServer>节点下添加或修改:
<system.webServer> <security> <requestFiltering> <!-- 根据实际需求调整数值 --> <requestLimits maxQueryString="4096" maxUrl="8192" /> </requestFiltering> </security> </system.webServer>
注意:如果web.config中已有<security>或<requestFiltering>节点,只需修改对应的属性值,不要重复创建节点。
2. 配置.NET Framework本身的请求限制
在<system.web>节点下添加或修改:
<system.web> <!-- 数值需与IIS设置保持一致或更大 --> <httpRuntime maxQueryStringLength="4096" maxUrlLength="8192" /> </system.web>
.NET Framework默认maxQueryStringLength为2048,maxUrlLength为260,需同步调整以匹配IIS的设置。
额外注意事项
- 修改配置后必须重启IIS站点或应用池,否则新配置不会生效
- 如果是在共享托管环境中,可能需要联系服务商调整服务器级别的配置权限,部分主机可能限制站点级的配置修改
- 可以对比你和同事的web.config文件、IIS请求筛选设置,快速定位具体差异点
内容的提问来源于stack exchange,提问作者Daan
相关产品推荐
相关产品推荐

