zoukankan      html  css  js  c++  java
  • MVC过滤器:过滤器执行顺序

    如果某个Action过滤器运用了多种过滤器,那么过滤器的执行顺序是如何呢?

    规则一:不同类型的过滤器有一个先后顺序

    即执行顺序是:授权过滤器->动作过滤器->结果过滤器->异常过滤器。

    注意:如果ActionFilter过滤器执行过程中发生了异常,那么会执行ExceptionFilter过滤器,不会执行ResultFilter过滤器。上图所示的是正常情况下的执行顺序。

    规则二:控制器上面的过滤器优先于方法上面的过滤器

    即控制器和方法上面都使用了相同的过滤器,那么先执行控制器上面的过滤器。如下图所示:

    规则三、Order属性可以决定过滤器的先后顺序

    默认order=-1,即会先执行没有设置order的过滤器。如下图所示:

    规则四、如果过滤器的类型相同,相同order的过滤器不能确定谁先执行

    如下图所示:

    规则五、控制器实现的过滤器接口方法优先执行

    上图中实现了ActionFilter过滤器的OnActionExecuting方法,所以先执行这个方法在执行ActionFilter1。如下图所示:

  • 相关阅读:
    进程与线程的区别
    开启线程的两种方式
    线程
    生产者消费者模型(重要)
    队列
    互斥锁
    守护进程(了解)
    Process对象的其它方法与属性(join)
    僵尸进程与孤儿进程
    Servlet
  • 原文地址:https://www.cnblogs.com/dotnet261010/p/10865719.html
Copyright © 2011-2022 走看看