ASP.NET MVC 入门9、Action Filter 与 内置的Filter实现(介绍)

  1. Action Filter 允许你在调用Action方法之前或之后可以自定义的处理一些逻辑.
  2. Action Filter是用户自定义的Action方法Attributes.
  3. 有些可能用到Filter的场景:
    • 日记和异常记录
    • 身份验证和授权
    • 要地化处理 
    • 动态Action, 将一个Action注入到Controller中
  4. asp.net MVC为我们提供了以下Fitler接口
    • IActionFilter  接口方法:OnActionExted() & OnActionExecuteing(), 在Action方法执行前/后执行
    • IAuthorizationFilter  接口方法:OnAuthorization()
    • IExceptionFilter  接口方法:OnException() , Action方法出现异常时执行.
    • IResultFilter  接口方法:OnResultExecuted() & OnExecuting(),  在Return View()前/后执行
      注:接口的方法执行顺序如下:IAuthorizationFilter -> IActionFilter -> IResultFilter -> IExceptionFilter .
  5. 如何要自定一个Filter,我们需要继承FilterAttriute类,同时实现上面一个或几个接口
    public class MyFilter : FilterAttribute, IActionFilter, IResultFilter
    {
    }

     

  6. 每一个Action Filter都有一个Order属性, 用来确定过滤器在该范围中的执行顺序
    [Filter1(Order = 2)]
    [Filter2(Order = 3)]
    [Filter3(Order = 1)]
    public void Index()
    {
        RenderView("Index");
    }

     

 

ASP.NET MVC 入门9、Action Filter 与 内置的Filter实现(介绍),古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。