使用HandleErrorAttribute在MVC中进行异常处理

时间:2016-08-26 09:08:50

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

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

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

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

创建自定义错误属性

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(){

    }
}