ASP.NET MVC提供了4种不同的动作过滤器(Aciton Filter)。
1.Authorization Filter
在执行任何Filter或Action之前被执行,用于身份验证
2.Action Filter
在执行Action之前或之后被执行,用于执行的Action需要生成记录或者缓存数据时
3.Result Filter
在执行ActionResult的前后被执行。在View被显示到浏览器之前可以执行一些逻辑运算,或修改ViewResult的输出结果
4.Exception Filter
在Action执行之前或之后或者ActionResult执行之前或之后被执行。在执行中发生异常时,可以使用此Filter指向其他页面来显示错误信息
下面是不同动作过滤器的执行顺序:
OnAuthorization
↓
OnActionExecuting
↓
执行动作(Action)
↓
OnActionExecuted
↓
OnResultExecuting
↓
执行视图(View)
↓
OnResultExecuted
↓
OnException
动作过滤器一律使用属性(Attribute)的方式应用在Action之上。eg: