HTTP错误404.15未找到

问题描述:

请求过滤模块被配置为拒绝查询字符串过长的请求。HTTP错误404.15未找到

我有上面的错误,我一直试图几乎一切,但没有运气

我的项目是MVC4上的Visual Studio 2013

事情我已经确定是正确和审判。

  • 对于[AllowAnonymous] Attr,我的类没有[Authorize] Attr。
  • 我在配置文件中
  • 我已经加入 添加maxQueryStringLength = “32768” maxUrlLength = “65536” 到 - >
  • 我有[使用AllowAnonymous] ATTR在我的日志在我的控制器操作。

  • 我在调试模式下运行应用程序或在Visual Studio上没有调试模式时没有问题。

  • 这里是我的溃败配置 routes.MapRoute( 名称: “默认”, 网址: “{控制器}/{行动}/{ID}”, 默认:新{控制器= “家”, action =“Index”,id = UrlParameter.Optional} );

  • 这是我的Web服务器

enter image description here

上获得正如错误消息告诉您

请求筛选模块被配置为拒绝请求错误查询字符串太长。

在截图中,您可以清楚地看到returnUrl参数很大。

所以有到解决方案

  1. 清除您returnUrl参数在你的控制器方法[HttpPost] Login();

  2. 以下内容添加到您的web.config

的web.config

<system.webServer> 
    <security> 
    <requestFiltering> 
     <requestLimits maxQueryString="*"/> <!-- Replace * with any number, which is required --> 
    </requestFiltering> 
    </security> 
</system.webServer> 

在你的情况去明确与解决方案1.它只是在你的代码中的错误,容易固定而不触及IIS或其他配置文件。

有关请求查询字符串限制的更多信息,请参见this post

+0

谢谢您的回复。我已经添加了的requestFiltering> 到的Web.config但我正在另一个错误 此请求的查询字符串长度超出了配置的maxQueryStringLength值。 – Frank

+0

@Frank为什么?在你的控制器中修复代码会简单得多 – Smartis

+0

你会如何解决这个问题?谢谢@Smartis – Frank