Asp.net mvc 在ASP.NET MVC中我有哪些错误处理选项?

Asp.net mvc 在ASP.NET MVC中我有哪些错误处理选项?,asp.net-mvc,Asp.net Mvc,对于ASP.NET MVC中的错误处理,我有哪些选项 我是否在错误页面上调用GetLastError并发送电子邮件或将其记录?为什么不在您的Global.asax中使用?,您可以实现以下功能: protected void Application_Error() { Exception lastException = Server.GetLastError(); GetLogger().Fatal(lastException); // your custom loggin cod

对于ASP.NET MVC中的错误处理,我有哪些选项


我是否在错误页面上调用GetLastError并发送电子邮件或将其记录?

为什么不在您的Global.asax中使用?

,您可以实现以下功能:

protected void Application_Error()
{
    Exception lastException = Server.GetLastError();
    GetLogger().Fatal(lastException); // your custom loggin code
}
具有“救援”属性——这是从Monorail借鉴的想法。您可以这样做:

[Rescue("default", AutoLocate = true)]
public class MyController : ConventionController
然后根据约定创建救援视图,如下所示:

  • Views/Shared/Rescues/Exception.aspx
  • Views/Shared/Rescues/MyCustomException.aspx
等。当控制器中发生未处理的异常时,救援过滤器将使用与异常类型相同的名称呈现页面。如果找不到完全匹配,则呈现Exception.aspx。(我想它可能会在找到匹配项之前一直运行继承层次结构。)

这些rescue视图实现了ViewPage,因此在视图页面中,您可以作为ViewData.Model.exception访问异常。这是我将代码放在codebehind中的一个地方——记录异常——因为它提供了一个很好的应用程序边界

如果不想使用MvcContrib,可以研究代码以实现自己的解决方案