.NET MVC 过滤器执行顺序
.NET MVC 过滤器执行顺序
VenyoWang 发表于2年前
.NET MVC 过滤器执行顺序
  • 发表于 2年前
  • 阅读 323
  • 收藏 0
  • 点赞 1
  • 评论 0

移动开发云端新模式探索实践 >>>   

摘要: .NET MVC 过滤器执行顺序

以下内容抄自博客园

.net Mvc 过滤器执行顺序:

IAuthorizationFilter(OnAuthorization)----->IActionFilter(OnActionExecuting)---->控制器Action---->IActionFilter(OnActionExecuted) ---->IResultFilter(OnResultExecuting)---->视图---->IResultFilter(OnResultExecuted)

Filter的具体生存周期 :

    1. 来自controller虚方法 的OnActionExecuting .

    2. 应用于当前Controller的Filter中的OnActionExecuting:

      先执行基类的,后执派生类的   

    3. 执行应用于Action的Filter的OnActionExecuting顺序:
      先执行基类的,后执派生类的

    4. Action 方法

    5. 应用于Action的Filter的OnActionExecuted 的执行顺序

          先执行派生类的,后执行基类的   

    6. 应用于当前Controller的Filter中的OnActionExecuted方法

          先执行派生类的,后执行基类的   

    7. Controller中的虚方法 OnActionExecute

以下为自己的内容:

上面写的顺序是系统接口的执行顺序,可是对于附加的过滤器并不包含在其中。

[Filter1]
[Filter2]
public ActionResult DoAction(){}

上面的这个 Action 配置有两个过滤器:Filter1、Filter2。这两个过滤器也肯定是有执行顺序的,但是它们的顺序与直观的上下顺序正好相反:先执行 Filter2,再执行 Filter1。

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 9
博文 36
码字总数 14111
×
VenyoWang
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: