10

很多关于 ASP.Net MVC 错误“抱歉,处理您的请求时发生错误”的查询。不幸的是,我找不到任何真正讨论实际发生的事情。可以理解的是,他们关注的是潜在的错误,而不是消息的直接来源和原因。因此,这些解决方案对同一问题给出了广泛不同的答案。

这里有一些例子:

根据我研究的许多答案中的堆栈跟踪数据,看来这可能是在System.Web.Mvc.ControllerActionInvoke类中触发的。通常,这似乎是执行 ActionResult 方法中未处理错误的直接结果。

我想了解消息中的“处理您的请求”一词。根据我看到错误显示的方式,这似乎不太可能是指 HTTP 请求。也许在 MVC 架构中有更细粒度的东西?有人可以更清楚地了解此消息的来源以及原因吗?

4

1 回答 1

13

开箱即用的 ASP.Net MVC 应用程序的默认错误处理将错误重定向到 Error.aspx 共享视图。您将在 Error.aspx 文件中找到“抱歉,处理您的请求时发生错误”消息文本。该消息不是从 .Net 类生成的。

以下 SO 问题让我明白了: ASP.NET MVC HandleError not working (customErrors is set to "On")

要查看有关潜在错误的更多详细信息,您有几个选项。

  • 自定义默认 Error.aspx 页面以显示有关基础错误的详细信息。

  • 关闭 web.config 文件中的 CustomErrors。未来的错误应该显示默认的 ASP.Net“黄屏”错误详细信息,而不是“抱歉,发生错误消息”。

  • 在关联的 ActionResult 方法中专门处理错误。

于 2013-06-14T16:28:54.140 回答