【问题标题】:Exception Handling in MVC using HandleErrorAttribute在 MVC 中使用 HandleErrorAttribute 处理异常
【发布时间】:2016-08-26 09:08:49
【问题描述】:

我想在我的 MVC 项目中使用自定义错误属性实现异常处理。

here 提供的第 4 个示例在我们应该在哪里输入视图名称、控制器名称等以及如何使用新属性装饰控制器和操作方面是不完整的。

任何帮助将不胜感激。

【问题讨论】:

    标签: c# asp.net-mvc exception-handling


    【解决方案1】:

    这样创建自定义错误属性

    public class MyCustomErrorAttribute : HandleErrorAttribute
    {
           public override void OnException(ExceptionContext filterContext)
            {
                var controllerName = filterContext.RouteData.Values["controller"];
                var actionName = filterContext.RouteData.Values["action"];
                //Do something with the Controller or Action, e.g. Logging the exception
                base.OnException(filterContext);
            }
        }
    

    然后将以下代码添加到Global.asax.cs

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(MyCustomErrorAttribute);
    } 
    

    然后简单地使用控制器级别的属性

    [MyCustomErrorAttribute]
    public class HomeController: Controller
    {
    
    }
    

    或在操作方法级别上

    public class HomeController: Controller
    {
        [MyCustomErrorAttribute]
        public ActionResult Index(){
    
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-24
      • 2016-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      • 1970-01-01
      相关资源
      最近更新 更多