Bac*_*tnz 2 asp.net asp.net-mvc aop exception-handling
我有一个UsersController,有OnException(有效),但是如果我Controller继承BaseController,OnException那就行不通,即使我把它放进去了BaseController.
基本上我想让我的所有控制器继承,BaseController所以我可以在OnException那里有一个处理程序,它可以捕获所有内容......
您不需要从自定义基本控制器类继承,以便让所有控制器以相同的方式处理异常.你可以使用ActionFilter来完成它.
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method,
AllowMultiple = true, Inherited = true)]
public class CustomHandleErrorAttribute : HandleErrorAttribute
{
public override void OnException(ExceptionContext context)
{
// do custom exception handling here
// to return View("Error"), you can just do this:
context.Result = new ViewResult { ViewName = "Error" };
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用此Global.asax将其应用于库中的所有控制器:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
//filters.Add(new HandleErrorAttribute()); // default MVC setting
filters.Add(new CustomHandleErrorAttribute());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2702 次 |
| 最近记录: |