加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – ASP.NET MVC中全局错误/异常处理的最佳实践是

发布时间:2020-12-16 06:37:51 所属栏目:asp.Net 来源:网络整理
导读:我已经看到两种在ASP.NET MVC 3应用程序中实现全局错误处理的方法.一种方法是通过Global.asax.cs中的Application_Error方法. 例如(Error Handling in global.asax): public class SomeWebApplication : System.Web.HttpApplication { // ... other methods
我已经看到两种在ASP.NET MVC 3应用程序中实现全局错误处理的方法.一种方法是通过Global.asax.cs中的Application_Error方法.

例如(Error Handling in global.asax):

public class SomeWebApplication : System.Web.HttpApplication {

  // ... other methods ...

  protected void Application_Error() {
    // ... application error handling code ...
  }
}

另一种方法是通过RegisterGlobalFilters方法中注册的[HandleError]动作过滤器属性,同样在Global.asax.cs中.

哪种方法更好?两种方法都有任何明显的缺点吗?

解决方法

[HandleError]是要走的路,因为它保持一切简单,责任明确.此 action filter是特定的 ASP.NET MVC功能,因此是处理错误的官方方式.覆盖过滤器以添加自定义功能也非常容易.

Application_Error是执行此操作的旧方法,并不真正属于MVC.

只要您记得用它标记控制器(或基本控制器),[HandleError]属性就可以正常工作.

更新:

创建了一个博客文章:http://blog.gauffin.org/2011/11/how-to-handle-errors-in-asp-net-mvc/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读