专栏首页Venyo 的专栏.NET MVC 过滤器执行顺序

.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。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • WinForm 为 DataGridViewCell 绑定 DataGridView

    先上效果图。 ? ? 对外提供一个 public 的方法: // 正常 Type1 是 JSON 的数据集或者 BSON 的数据集 public void ...

    Venyo
  • 无需数据迁移的水平分库方案

    在工作中,曾经做过一个项目,采用了哈希取模的方法进行水平分库,这种方法简单高效,但是在数据库规模有所变动的时候,需要做数据迁移。本文介绍一个自己拍脑袋想出来的一...

    Venyo
  • HSV颜色直方图

    package com.imageretrieval.features; import java.awt.Color; import com.imagere...

    Venyo
  • 【数说·大数据圈】当我们谈论“细分”(segmentation)的时候我们在谈论什么

    我们经常听到一些创业者说,“我做的这个产品主要面向XX客户”,有人服务于高净值人群、有人专门面向女性客户群,也有人专注于老年市场......,不同的客户群之间存...

    数说君
  • 三七互娱秋招提前批 java服务端

        我是在6月5号参加了三七互娱的秋招的web后端线上笔试,第二天又参加了java服务端的线上笔试,之后去三七大楼参加open day,然后面试时一面,二面...

    牛客网
  • Web 技术无疑被苹果公司打入了冷宫

    做 Web 技术的朋友,做梦都在想着把同一份代码,编译好了同时可在 Linux, Windows, Andriod, MacOs, iOS 上运行。

    Lenis
  • HTML+CSS提升小实战

    1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; ch...

    别先生
  • cvte面经

    一面:现场面去的很早明显焦虑并问不到面经(50分钟) (1)自我介绍这里介绍完提到自己熟悉的知识,项目 (2)项目介绍项目中遇到的难点如何解决的 (3)集合框架...

    牛客网
  • 走进JavaWeb技术世界3:JDBC的进化与连接池技术

    本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看

    Java技术江湖
  • mysql分布式前端代理 - Amoeba

    image.png Amoeba是一个开源项目,致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQL路由器功能,具有负载均衡...

    dys

扫码关注云+社区

领取腾讯云代金券