“抱歉,处理您的请求时出错”的直接原因和来源是什么?信息?

时间:2013-06-14 03:14:09

标签: asp.net-mvc error-handling

有关于ASP.Net MVC错误的many inquiries“抱歉,处理您的请求时出错”。不幸的是,我找不到任何真正讨论真实情况的东西。可以理解的是,他们关注的是潜在的错误,而不是消息的直接来源和原因。因此,这些解决方案为同一问题提供了广泛不同的答案。

以下是一些例子:

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

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

1 个答案:

答案 0 :(得分:12)

开箱即用的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方法中专门处理错误。