【问题标题】:Custom Errors in ASP.net MVC6ASP.net MVC6 中的自定义错误
【发布时间】:2016-05-09 15:16:07
【问题描述】:

我创建了一个 ASP.net 5 MVC6 项目并添加了以下内容:

  app.UseStatusCodePages();

在我的配置方法中。如果我运行该应用程序,请打开我的网络浏览器并导航到以下 URL:

http://localhost:33358/ReallyLongInvalidPathReallyLongInvalidPathReallyLongInvalidPathReallyLongInvalidPathReallyLongInvalidPathReallyLongInvalidPathReallyLongInvalidPathReallyLongInvalidPath

ASP 显示 404 错误消息,这是预期的行为。如果我导航到更长的无效 URL,例如:

http://localhost:33358/EvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPathEvenLongerInvalidPath

我现在得到以下信息:

错误请求 - 无效网址

如果您导航到等效的MSDN URL,您会得到相同的结果。但是,如果您导航到等效的 stackoverflow URL,它会以某种方式进行处理。他们是如何处理这个问题的?以及如何在 ASP.net MVC6 中做到这一点?

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-core custom-exceptions


    【解决方案1】:

    你得到一个 404.15 吗?可能是 IIS 的查询字符串长度太长。检查这个https://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits

    尝试更改 web.config 中的 requestLimits 部分中的 maxQueryString 属性,看看是否有帮助。

    【讨论】:

    • 不。我收到与单击 MSDN 链接时相同的错误。
    • 我不确定子状态码信息是否直接显示在错误页面上。有一些方法可以根据子状态代码重定向到不同的页面。但我不确定这些配置是否适用于 MVC 6 (iis.net/learn/troubleshoot/diagnosing-http-errors/…)。这方面的工作可能还没有完成。
    • 我很确定它甚至没有走那么远。与访问 URL 时类似:stackoverflow.com/%
    猜你喜欢
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 2013-01-10
    • 1970-01-01
    • 2011-01-11
    相关资源
    最近更新 更多