过滤器运行在MVC Action Invocation Pipeline(MVC Action 请求管道),我们称它为Filter Pipleline(过滤器管道),Filter Pipleline 运行在MVC选择Action执行前,因此我们可以在Action执行前做一些处理,例如:权限。
2.过滤器类型
 
每个过滤器在Filter Pipleline的不同阶段执行。
- Resource filters  (资源过滤器)    Resource filters 在Authorzation后面运行,同时在后面的其它过滤器完成后还会执行。Resource filters 实现缓存或其它性能原因返回。因为它运行在模型绑定前,所以这里的操作都会影响模型绑定。
- Action filters  (方法过滤器)    Action filters会在执行Action方法前后被调用。这个可以在方法中用来处理传递参数和处理方法返回结果。
- Exception filters   (异常过滤器)    Exception filters 被应用全局策略处理未处理的异常发生前任何被写入响应体。
- Result filters   (结果过滤器)    Result filters 可以在执行Action结果之前执行,且执行Action成功后执行,使用逻辑必须围绕view或格式化执行结果。
下图是过滤器管道的先后执行顺序:
大家可以下载Demo,自己在代码断点上面执行两次 一次请求是action正常 一次请求是action异常
 
上面是个人翻译即一些理解,比较初级,对这个还会写一些,如果有错误欢迎指正