当前位置: 首页 > 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/a/324842.html

相关文章:

  • postman的使用
  • 迅为龙芯2K1000开发板/核心板流畅运行Busybox、Buildroot、Loognix、QT5.12系统
  • 【回忆迷宫——处理方法+DFS】
  • 多监控m3u8视频流,怎么获取每个监控的封面图(纯前端)
  • TypeScript - 利用GPT辅助学习
  • [深度学习]机器学习和深度学习
  • 使用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如何删除分区