var builder = WebApplication.CreateBuilder(args);
var app = builder.Build(); ......
基础与诊断类
- UseDeveloperExceptionPage:专门用于开发环境。当应用抛出未处理的异常时,它会生成一个包含详细错误堆栈和调试信息的页面,方便开发者排查问题。
- UseExceptionHandler:用于生产环境。它会捕获管道后续中间件抛出的未处理异常,并返回用户友好的错误响应或重定向到指定的错误处理页面。
- UseStatusCodePages:当响应状态码为 400-599 且没有响应体时,提供默认的错误页面或处理逻辑。
- UseHealthChecks:用于检查应用及其依赖项(如数据库、外部API)的健康状态。通常用于负载均衡器或容器编排系统(如 Kubernetes)的存活探针。
请求处理与安全类
- UseRouting:路由中间件。它会分析传入请求的 URL,并将其与应用中定义的终结点(Endpoints)进行匹配,为后续的授权和终结点执行做准备。
- UseAuthentication :身份验证中间件。它尝试识别当前请求的用户身份(例如解析 JWT Token 或 Cookie),并构建
HttpContext.User对象。- UseAuthorization:授权中间件。在身份验证之后运行,用于检查当前已验证的用户是否有权限访问特定的资源(例如基于角色的访问控制)。
- UseCors:跨域资源共享中间件。用于配置和启用跨域请求策略,允许或拒绝来自不同域名的浏览器请求。
- UseHttpsRedirection:HTTPS 重定向中间件。自动将所有 HTTP 请求重定向到安全的 HTTPS 协议。
- UseHsts :HTTP 严格传输安全(HSTS)中间件。在响应中添加
Strict-Transport-Security标头,强制浏览器在未来一定时间内只通过 HTTPS 访问该网站,增强安全性。- UseAntiforgery:防伪中间件。用于防止跨站请求伪造(CSRF/XSRF)攻击,通常在表单提交或 Razor Pages/MVC 应用中配合使用。
- UseCookiePolicy :Cookie 策略中间件。用于跟踪用户是否同意存储个人信息(符合 GDPR 等法规),并强制实施 Cookie 的最低安全标准(如
Secure和SameSite属性)。静态资源与网络优化
- UseStaticFiles:静态文件中间件。用于提供 wwwroot 目录下的静态资源(如 HTML、CSS、JavaScript、图片等)。如果请求匹配到静态文件,通常会直接返回并终止后续管道的执行。
- UseResponseCompression:响应压缩中间件。对 HTTP 响应体进行压缩(如 Gzip、Brotli),以减小传输数据的大小,提高页面加载速度。
- UseResponseCaching :响应缓存中间件。根据请求和响应中的缓存标头(如
Cache-Control)来控制响应的缓存行为。其他实用中间件
- UseSession:会话状态中间件。启用基于 Cookie 的会话管理,允许在多次请求之间保存用户数据。
- UseForwardedHeaders:转发标头中间件。当应用部署在反向代理(如 Nginx、IIS)后面时,用于将代理服务器转发的标头(如真实的客户端 IP、协议 Scheme)应用到当前请求的上下文中。
- UseHttpLogging:HTTP 日志记录中间件。用于记录传入的 HTTP 请求和传出的 HTTP 响应的详细信息。
- UseWebSockets:WebSocket 中间件。启用并处理 WebSocket 请求,实现客户端与服务器之间的全双工实时通信。
NetCore常用的中间件说明
yujunl2026-05-31 15:31
相关推荐
西门吹-禅12 小时前
java springboot N+1问题skywalk816312 小时前
设计并实现段言的 C FFI 绑定机制 @TraeIT笔记14 小时前
【Rust】Rust Match 模式匹配详解2zcode14 小时前
免费开源项目文档:基于MATLAB卷积神经网络的口罩佩戴检测系统逝水无殇14 小时前
C# 运算符重载详解TPBoreas14 小时前
配置信息防泄露方案:.env 环境隔离详解(dotenv-java)敲代码的嘎仔15 小时前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档江华森15 小时前
Python 实现高德地图找房(一):环境搭建与数据爬虫杜子不疼.15 小时前
【Qt初识】信号槽(三):机制意义、断开连接与 Lambda 表达式老迟到的茉莉16 小时前
Hermes 是谁?跟 Claude Code 差在哪