ASP.NET MVC过滤器执行顺序介绍

 更新时间:2022年03月16日 11:42:47   作者:.NET开发菜鸟  
这篇文章介绍了ASP.NET MVC过滤器的执行顺序,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

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

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

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

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

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

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

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

如下图所示:

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

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

到此这篇关于ASP.NET MVC过滤器执行顺序的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • asp.net core 修改默认端口的几种方法

    asp.net core 修改默认端口的几种方法

    这篇文章主要介绍了asp.net core 修改默认端口的几种方法,文中讲解非常详细,代码和图片帮助大家更好的理解,感兴趣的朋友可以了解下
    2020-06-06
  • .NET Core中使用Redis与Memcached的序列化问题详析

    .NET Core中使用Redis与Memcached的序列化问题详析

    这篇文章主要介绍了.NET Core中使用Redis与Memcached的序列化问题的相关内容,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据

    ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据

    这篇文章主要介绍了ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据,需要的朋友可以参考下
    2017-06-06
  • ASP.NET Core模仿中间件方式实现列表过滤功能

    ASP.NET Core模仿中间件方式实现列表过滤功能

    这篇文章介绍了ASP.NET Core模仿中间件方式实现列表过滤功能的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • .NET 8 高性能跨平台图像处理库 ImageSharp 详解

    .NET 8 高性能跨平台图像处理库 ImageSharp 详解

    ImageSharp是.NET8的高性能跨平台图像处理库,适用于多种开发场景,它支持广泛的图像格式和图像处理操作,如调整大小、裁剪、旋转、滤镜效果等,ImageSharp通过NuGet安装简便,易于在项目中集成使用,本文详细介绍了ImageSharp的功能及使用方法,是开发者进行图像处理的优选工具
    2024-11-11
  • ASP.NET通过Remoting service上传文件

    ASP.NET通过Remoting service上传文件

    ASP.NET通过Remoting service上传文件...
    2006-09-09
  • ASP.NET导出数据到Excel的实现方法

    ASP.NET导出数据到Excel的实现方法

    在做asp.net程序时涉及到数据显示的时候多数会要求打印,而网页上的打印格式往往又不能满足需求,经常用的方法就是导入到Excel以后再进行打印。(仿佛这已经是老生常谈)今天在网上搜了一段打印的代码,觉得不错,需要打印的朋友可以看看。
    2013-07-07
  • 使用asp.net mvc,boostrap及knockout.js开发微信自定义菜单编辑工具(推荐)

    使用asp.net mvc,boostrap及knockout.js开发微信自定义菜单编辑工具(推荐)

    这篇文章主要介绍了使用asp.net mvc,boostrap及knockout.js开发微信自定义菜单编辑工具,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • ASP.NET验证码(3种)

    ASP.NET验证码(3种)

    这篇文章主要对ASP.NET实现三种验证码的简单实例进行了介绍,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-08-08
  • ASP.net百度主动推送功能实现代码

    ASP.net百度主动推送功能实现代码

    百度站长工具的主动推送功能,以最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录
    2020-09-09

最新评论