当前位置: 首页 > article >正文

CORE MVC 过滤器 (筛选器)

MVC FrameWork

MVCFramework

MVC Core 过滤器 分 同步、异步

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1、 授权筛选器 IAuthorizationFilter,IAsyncAuthorizationFilter
管道中运行的第一类筛选器,用来确定发出请求的用户是否有权限发出当前请求

2、资源筛选器 IResourceFilter , IAsyncResourceFilter
当授权之后,在管道的其余部分之前以及管道组件之后运行。 对于缓存很有用

3、 操作筛选器
在控制器方法操作之前和之后运行

4、异常筛选器 IExceptionFilter、IAsyncExceptionFilter
如果注册,则在发生未处理异常时触发

5、结果筛选器 IResultFilter IAsyncResultFilter
在操作方法结果执行之前和之后运行

过滤器Filter,有两种注册方式 ①全局注册,②区域注册【 Attribute注册,只套用在特定的 Action】。

在这里插入图片描述

》》》全面注册 net core6 之前

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc(config =>
        {
            config.Filters.Add(new ResultFilter());
            config.Filters.Add(new ExceptionFilter());
            config.Filters.Add(new ResourceFilter());
        });
    }
}

添加链接描述
》》》全面注册 net core6 之后

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
筛选器顺序

区域注册

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

ASP.NET Core 在 Attribute 注册 Filter 的方式跟 ASP.NET MVC 有一点不一样,要透过[TypeFilter(type)]。
在 Controller 或 Action 上面加上 [TypeFilter(type)] 就可以区域注册 Filter。如下:
TypeFilter》》不需要在Service中注册。
在这里插入图片描述

筛选器的默认顺序

在这里插入图片描述
在这里插入图片描述

取消和设置短路

通过设置提供给筛选器方法的 context 参数上的 Result 属性,可以在筛选器管道的任意位置设置短路。 例如,以下资源筛选器将阻止执行管道的其余阶段。
在这里插入图片描述

依赖关系注入

在这里插入图片描述


http://www.kler.cn/news/324842.html

相关文章:

  • 使用WPF实现一个快速切换JDK版本的客户端工具
  • 视频格式转换:avi格式转mp4格式
  • Linux中查找在某一文件夹下有没有给定名字的文件
  • springboot+satoken实现刷新token(值变化)
  • 威胁检测与防范:如何及时、准确对抗安全风险
  • react-markdown 使用 rehype-katex,解决锚点跳转后渲染异常
  • linux 下mailx 的使用。发送短信
  • 在vue项目中禁用鼠标右键,选中
  • STM32 MCU学习资源
  • excel怎么转换json
  • Linux中gcc,g++常用编译选项
  • composer环境变量(phpstudy集成环境)无法使用问题
  • 【iOS】MVC架构模式
  • Linux系统中命令wc
  • Python:Spoonfed - (2-09) Cinema 4D 选择 (搬砖)
  • macos搭建flutter开发环境 3.24.3版本 2024年9月25日实测部署
  • 【Python】Django Grappelli:打造优雅且现代化的 Django 管理后台
  • win10如何禁止指定程序运行?教你5个方法!抓紧学!码住了!
  • jetlinks物联网平台学习4:http协议设备接入
  • hive如何删除分区
  • Maven-三、聚合
  • 【Python】FeinCMS:轻量级且可扩展的Django内容管理系统
  • 应用性能管理工具-SkyWalking
  • 精通Maven:多模块项目中的依赖管理
  • 支付宝沙箱环境 支付
  • 18.Linux-配置DNF仓库
  • 15分钟学 Python 第29天 : 数据库基础
  • 【Linux】防火墙
  • 《马力欧+疯狂兔子 星耀之愿》风灵月影修改器秘籍:轻松征服星辰大海
  • 数据结构——顺序表(基础代码题)