CORE MVC 过滤器 (筛选器)

news/2024/12/21 21:15:46/

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.ppmy.cn/news/1533794.html

相关文章

【折半查找】

目录 一. 折半查找的概念二. 折半查找的过程三. 折半查找的代码实现四. 折半查找的性能分析 \quad 一. 折半查找的概念 \quad 必须有序 \quad 二. 折半查找的过程 \quad \quad 三. 折半查找的代码实现 \quad 背下来 \quad 四. 折半查找的性能分析 \quad 记住 比较的是层数 …

Python 复制PDF中的页面

操作PDF文档时,复制其中的指定页面可以帮助我们从PDF文件中提取特定信息,如文本、图表或数据等,以便在其他文档中使用。复制PDF页面也可以实现在不同文件中提取页面,以创建一个新的综合文档。 本文将介绍如何使用Python 在同一文档…

矩阵系统源码搭建的具体步骤,支持oem,源码搭建

一、前期准备 明确需求 确定矩阵系统的具体用途,例如是用于社交媒体管理、电商营销还是其他领域。梳理所需的功能模块,如多账号管理、内容发布、数据分析等。 技术选型 选择适合的编程语言,如 Python、Java、Node.js 等。确定数据库类型&…

ClickHouse 的 MergeTree 引擎有哪些性能优势?

ClickHouse 的 MergeTree 引擎是其最核心的表引擎之一,具有以下性能优势: 1. 高吞吐量的数据写入:MergeTree 引擎将数据以不可变的片段形式写入磁盘,这些片段会定期通过后台线程合并,优化存储并提高查询性能。 2. 主…

【openwrt-21.02】T750 openwrt switch划分VLAN之后网口插拔状态异常问题分析及解决方案

Openwrt版本 NAME="OpenWrt" VERSION="21.02-SNAPSHOT" ID="openwrt" ID_LIKE="lede openwrt" PRETTY_NAME="OpenWrt 21.02-SNAPSHOT" VERSION_ID="21.02-snapshot" HOME_URL="https://openwrt.org/" …

【深度学习】—线性回归 线性回归的基本元素 线性模型 损失函数 解析解 随机梯度下降

【深度学习】— 线性回归 线性回归的基本元素 线性模型 损失函数 解析解 随机梯度下降 线性回归线性回归的基本元素 线性模型损失函数解析解随机梯度下降小批量随机梯度下降梯度下降算法的详细步骤解释公式 线性回归 回归(regression)是能为⼀个或多个⾃…

开发微信小程序 基础03

WXSS(类似CSS) 定义: WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML的组件样式,类似于网页开发中的 CSS。 分类: 全局样式:定义在 app.wxss 中的样式为全局样式,作用于每一个页面 局部样式&…

如何封装微信小程序中的图片上传功能

文章目录 前言一、需求分析与设计思路二、上传图片功能封装三、页面调用示例四、功能改进与扩展4.1 压缩图片4.2 上传进度4.3 重试机制 五、总结 前言 在微信小程序开发中,图片上传功能是一个十分常见的需求,不管是社交分享、商城中的商品图片上传&…