有关于ASP.Net MVC错误的many inquiries“抱歉,处理您的请求时出错”。不幸的是,我找不到任何真正讨论真实情况的东西。可以理解的是,他们关注的是潜在的错误,而不是消息的直接来源和原因。因此,这些解决方案为同一问题提供了广泛不同的答案。
以下是一些例子:
Sorry, an error occurred while processing your request. in MVC3 Model Entities
Sorry, an error occurred while processing your request C# and Ajax
http://forums.asp.net/t/1661793.aspx/1/10?Sorry+an+error+occurred+while+processing+your+request+
http://forums.gbpvr.com/showthread.php?53184-Sorry-an-error-occurred-while-processing-your-request
基于我研究的许多答案中的堆栈跟踪数据,似乎可以在System.Web.Mvc.ControllerActionInvoke类中触发。通常看起来是执行ActionResult方法中未处理错误的直接结果。
我想在邮件中理解“处理您的请求”一词。基于我看到错误显示的方式,这似乎不太可能是指HTTP请求。也许在MVC架构中更细粒度的东西?有人可以更清楚地了解这条消息的起源和原因吗?
答案 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方法中专门处理错误。