ASP.NET Core中间件记录管道图和内置中间件

管道记录

下图显示了 ASP.NET Core MVC 和 Razor Pages 应用程序的完整请求处理管道

中间件组件在文件中添加的顺序Program.cs定义了请求时调用中间件组件的顺序以及响应的相反顺序。该顺序对于安全性、性能和功能至关重要。 

内置中间件记录

内置中间件
原文翻译
MiddlewareDescriptionOrder中间件描述命令
AuthenticationProvides authentication support.Before HttpContext.User is needed. Terminal for OAuth callbacks.验证提供身份验证支持。之前HttpContext.User是需要的。OAuth 回调终端。
AuthorizationProvides authorization support.Immediately after the Authentication Middleware.授权提供授权支持。紧接着身份验证中间件。
Cookie PolicyTracks consent from users for storing personal information and enforces minimum standards for cookie fields, such as secure and SameSite.Before middleware that issues cookies. Examples: Authentication, Session, MVC (TempData).Cookie 政策跟踪用户对存储个人信息的同意并强制执行 cookie 字段的最低标准,例如secureSameSite在发布 cookie 的中间件之前。示例:身份验证、会话、MVC(临时数据)。
CORSConfigures Cross-Origin Resource Sharing.Before components that use CORS. UseCors currently must go before UseResponseCaching due to this bug.跨域资源共享配置跨源资源共享。在使用 CORS 的组件之前。由于这个错误,UseCors目前必须先走。UseResponseCaching
DeveloperExceptionPageGenerates a page with error information that is intended for use only in the Development environment.Before components that generate errors. The project templates automatically register this middleware as the first middleware in the pipeline when the environment is Development.开发者异常页面生成一个包含错误信息的页面,该页面仅供在开发环境中使用。在产生错误的组件之前。当环境为开发时,项目模板会自动将此中间件注册为管道中的第一个中间件。
DiagnosticsSeveral separate middlewares that provide a developer exception page, exception handling, status code pages, and the default web page for new apps.Before components that generate errors. Terminal for exceptions or serving the default web page for new apps.诊断几个独立的中间件,为新应用程序提供开发人员异常页面、异常处理、状态代码页面和默认网页。在产生错误的组件之前。用于例外情况的终端或为新应用程序提供默认网页。
Forwarded HeadersForwards proxied headers onto the current request.Before components that consume the updated fields. Examples: scheme, host, client IP, method.转发标头将代理标头转发到当前请求。在使用更新字段的组件之前。示例:方案、主机、客户端 IP、方法。
Health CheckChecks the health of an ASP.NET Core app and its dependencies, such as checking database availability.Terminal if a request matches a health check endpoint.健康检查检查 ASP.NET Core 应用程序及其依赖项的运行状况,例如检查数据库可用性。如果请求与健康检查端点匹配,则终端。
Header PropagationPropagates HTTP headers from the incoming request to the outgoing HTTP Client requests.标头传播将 HTTP 标头从传入请求传播到传出 HTTP 客户端请求。
HTTP LoggingLogs HTTP Requests and Responses.At the beginning of the middleware pipeline.HTTP 日志记录记录 HTTP 请求和响应。在中间件管道的开始处。
HTTP Method OverrideAllows an incoming POST request to override the method.Before components that consume the updated method.HTTP 方法覆盖允许传入的 POST 请求覆盖该方法。在使用更新方法的组件之前。
HTTPS RedirectionRedirect all HTTP requests to HTTPS.Before components that consume the URL.HTTPS 重定向将所有 HTTP 请求重定向到 HTTPS。在使用 URL 的组件之前。
HTTP Strict Transport Security (HSTS)Security enhancement middleware that adds a special response header.Before responses are sent and after components that modify requests. Examples: Forwarded Headers, URL Rewriting.HTTP 严格传输安全 (HSTS)添加特殊响应标头的安全增强中间件。在发送响应之前和修改请求的组件之后。示例:转发标头、URL 重写。
MVCProcesses requests with MVC/Razor Pages.Terminal if a request matches a route.多维控制器使用 MVC/Razor 页面处理请求。如果请求与路由匹配,则终端。
OWINInterop with OWIN-based apps, servers, and middleware.Terminal if the OWIN Middleware fully processes the request.欧文与基于 OWIN 的应用程序、服务器和中间件进行互操作。如果 OWIN 中间件完全处理请求,则终端。
Output CachingProvides support for caching responses based on configuration.Before components that require caching. UseRouting must come before UseOutputCachingUseCORS must come before UseOutputCaching.输出缓存提供对基于配置的缓存响应的支持。在需要缓存的组件之前。UseRouting必须先来UseOutputCachingUseCORS必须先来UseOutputCaching
Response CachingProvides support for caching responses. This requires client participation to work. Use output caching for complete server control.Before components that require caching. UseCORS must come before UseResponseCaching. Is typically not beneficial for UI apps such as Razor Pages because browsers generally set request headers that prevent caching. Output caching benefits UI apps.响应缓存提供对缓存响应的支持。这需要客户的参与才能发挥作用。使用输出缓存来实现完整的服务器控制。在需要缓存的组件之前。UseCORS必须先来UseResponseCaching。对于 Razor Pages 等 UI 应用程序通常没有好处,因为浏览器通常会设置阻止缓存的请求标头。输出缓存有利于 UI 应用程序。
Request DecompressionProvides support for decompressing requests.Before components that read the request body.请求解压提供对解压缩请求的支持。在读取请求正文的组件之前。
Response CompressionProvides support for compressing responses.Before components that require compression.响应压缩提供对压缩响应的支持。在需要压缩的组件之前。
Request LocalizationProvides localization support.Before localization sensitive components. Must appear after Routing Middleware when using RouteDataRequestCultureProvider.请求本地化提供本地化支持。敏感元件本地化之前。使用RouteDataRequestCultureProvider时必须出现在路由中间件之后。
Endpoint RoutingDefines and constrains request routes.Terminal for matching routes.端点路由定义和约束请求路由。匹配路线的终端。
SPAHandles all requests from this point in the middleware chain by returning the default page for the Single Page Application (SPA)Late in the chain, so that other middleware for serving static files, MVC actions, etc., takes precedence.温泉通过返回单页应用程序 (SPA) 的默认页面来处理中间件链中这一点的所有请求在链的后期,以便其他用于提供静态文件、MVC 操作等的中间件优先。
SessionProvides support for managing user sessions.Before components that require Session.会议提供对管理用户会话的支持。在需要 Session 的组件之前。
Static FilesProvides support for serving static files and directory browsing.Terminal if a request matches a file.静态文件提供对服务静态文件和目录浏览的支持。如果请求与文件匹配则终端。
URL RewriteProvides support for rewriting URLs and redirecting requests.Before components that consume the URL.网址重写提供对重写 URL 和重定向请求的支持。在使用 URL 的组件之前。
W3CLoggingGenerates server access logs in the W3C Extended Log File Format.At the beginning of the middleware pipeline.W3C日志记录以W3C 扩展日志文件格式生成服务器访问日志。在中间件管道的开始处。
WebSocketsEnables the WebSockets protocol.Before components that are required to accept WebSocket requests.WebSockets启用 WebSocket 协议。在接受 WebSocket 请求所需的组件之前。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/84592.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【容器化】Oceanbase镜像构建及使用

通过该篇文章可以在国产X86-64或ARM架构上构建商业版oceanbase,只需要替换pkg安装包即可。下面截图主要以国产X86-64安装为例,作为操作截图: 镜像构建目录说明 pkg:用来存放安装包及脚本,抛出rpm其他是脚步,这些rpm包…

直接在html中引入Vue.js的cdn来实现Vue3的组合式API

Vue3的组合式API是使用setup函数来编写组件逻辑的。setup函数是Vue3中用于替代Vue2的选项API(如data、methods等)的一种方式。在setup函数中,你可以访问到一些特殊的响应式对象,并且可以返回一些可以在模板中使用的数据、方法等。…

Python编程——谈谈函数的定义、调用与传入参数

作者:Insist-- 个人主页:insist--个人主页 本文专栏:Python专栏 专栏介绍:本专栏为免费专栏,并且会持续更新python基础知识,欢迎各位订阅关注。 目录 一、理解函数 二、函数的定义 1、语法 2、定义一个…

【Linux】内核宏定义解释postcore_initcall,arch_initcall,subsys_initcall

postcore_initcall postcore_initcall(pcibus_class_init) 是一个宏,用于在Linux内核初始化过程中注册一个后期初始化函数。 这个宏的含义如下: postcore_initcall 是一个宏定义,用于指定注册的函数在内核初始化的哪个阶段执行。 pcibus_cl…

deleteDatabase失败处理

准备清理环境时发现deleteDatabase告警,如下图 SYSorcl> startup; ORACLE instance started. Total System Global Area 1.6106E10 bytes Fixed Size 8639712 bytes Variable Size 2449476384 bytes Datab…

CentOS-6.3安装MySQL集群

安装要求 安装环境:CentOS-6.3 安装方式:源码编译安装 软件名称:mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz 下载地址:http://mysql.mirror.kangaroot.net/Downloads/ 软件安装位置:/usr/local/mysql 数据存放位…

HTTP代理授权方式介绍

在网络爬虫过程中,我们经常需要使用HTTP代理来实现IP隐藏、突破限制或提高抓取效率。而为了确保代理的正常使用,并避免被滥用,代理服务商通常会采用授权方式。在本文中,我们将介绍几种常见的HTTP代理授权方式,以帮助你…

Tomcat部署及优化

Tomcat概述 Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是 Apache 软件基金会的 Jakarta 项目中的一个 核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。在中小型系统和并发访问用户不是…

自建hexo博客并将原有的文章发布其上

1、保存粘贴到memo9中的博客文章,并将txt转换成word文档 varPowerShellPath, CommandLine: string; // , ScriptPath begin//save to txtMemo9.Lines.SaveToFile(test.txt);memo10.Lines.SaveToFile(txt2word.ps1);//save as docxPowerShellPath : powershell.exe…

企业有VR全景拍摄的需求吗?能带来哪些好处?

在传统图文和平面视频逐渐疲软的当下,企业商家如何做才能让远在千里之外的客户更深入、更直接的详细了解企业品牌和实力呢?千篇一律的纸质材料已经过时了,即使制作的再精美,大家也会审美疲劳;但是你让客户远隔千里&…

uniapp 微信小程序 订阅消息

第一步&#xff0c;需要先去小程序官方挑选一下订阅模板拿到模板id 订阅按钮在头部导航上&#xff0c;所以 <u-navbar :bgColor"bgColor"><view class"u-nav-slot" slot"left" click"goSubscribe"><image :src"g…

需要数电发票接口的,先熟悉下数电发票基本常识

最近有一些技术小伙伴来咨询数电发票接口的时候&#xff0c;对数电发票的一些常识不太了解&#xff0c; 导致沟通起来比较困难。比较典型的这三个问题&#xff1a; 一、开具数电票时&#xff0c;如何设置身份认证频次&#xff1f; 请公司的法定代表人或财务负责人登录江苏省电…

uni-app之app上传pdf类型文件

通过阅读官方文档发现&#xff0c;uni.chooseFile在app端不支持非媒体文件上传&#xff1b; 可以使用这个插件&#xff0c;验证过可以上传pdf&#xff1b;具体使用可以去看文档 插件地址 就是还是会出现相机&#xff0c;这个可能需要自己解决下 实现功能&#xff1a;上传只能上…

ejbca:8443报文跟踪

安装客户端证书后&#xff0c;访问管理员页面 :8443/ejbca/adminweb 同时在wireshark抓包 1、客户端向对端发出Client hello 在Server Hello看到一个颁发给客户端的证书&#xff0c;颁发给5be85c9c1df9&#xff08;客户端node hostname 5be85c9c1df9&#xff09;但没有在Clie…

MySQL索引优化分析

MySQL索引优化分析 为什么你写的sql查询慢&#xff1f;为什么你建的索引常失效&#xff1f;通过本章内容&#xff0c;你将学会MySQL性能下降的原因&#xff0c;索引的简介&#xff0c;索引创建的原则&#xff0c;explain命令的使用&#xff0c;以及explain输出字段的意义。助你…

综合技巧练习 - Packet Tracer 简介

1.7.1&#xff1a;综合技巧练习 - Packet Tracer 简介 拓扑图&#xff1a; 以基本完成的逻辑拓扑为起点。 设备 接口 IP 地址 子网掩码 默认网关 R1-ISP Fa0/0 192.168.254.253 255.255.255.0 不适用 S0/0/0 10.10.10.6 255.255.255.252 R2-Central Fa0/0 17…

日常开发中Git命令指北

Git基本操作 创建化仓库 mkdir 目录 cd 目录 git init配置本地仓库 # 配置用户名&#xff0c;邮箱 git config user.name "cxf" git config user.email "1969612859qq.com" # 查看本地配置&#xff08;小写的 L&#xff09; git config -l # 重置配置&a…

百度chatgpt内测版

搜索AI伙伴 申请到了百度的chatgpt&#xff1a; 完整的窗口布局&#xff1a; 三个哲学问题&#xff1a; 灵感中心&#xff1a; 请做一副画&#xff0c;一个渔夫&#xff0c;冬天&#xff0c;下着大雪&#xff0c;在船上为了一家的生计在钓鱼&#xff0c;远处的山上也都是白雪&a…

【学习】若依源码(前后端分离版)之 “ 上传图片功能实现”

大型纪录片&#xff1a;学习若依源码&#xff08;前后端分离版&#xff09;之 “ 上传图片功能实现” 前言前端部分后端部分结语 前言 图片上传也基本是一个项目的必备功能了&#xff0c;所以今天和大家分享一下我最近在使用若依前后端分离版本时&#xff0c;如何实现图片上传…

FreeRTOS源码分析-11 软件定时器

目录 1 软件定时器概念及其应用 1.1 软件定时器定义 1.2 FreeRTOS软件定时器介绍 1.3 FreeRTOS软件定时器工作原理 2 软件定时器函数应用 2.1 功能需求 2.2 API 2.3 功能实现 3 软件定时器原理源码分析 3.1 软件定时器控制块 3.2 软件定时器任务&软件定时器创建 …