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

Microsoft.AspNetCore.Builder

Microsoft.AspNetCore.Builder 是 ASP.NET Core 的**“中间件管道施工工具箱”——
它提供 IApplicationBuilder 及一系列扩展方法(UseStaticFiles()UseRouting()UseAuthentication() 等),
让你按顺序**把中间件拼接成处理管道,最终形成 RequestDelegate 交给主机运行。
一句话:
“负责‘注册→排序→生成’中间件,决定 HTTP 请求从进到出每一步由谁处理。”

1. 核心对象

表格
复制
类型作用
IApplicationBuilder 管道施工接口,支持 Use()Run()Map()
WebApplication(.NET 6+) 同时实现 IApplicationBuilder 和 IHost,所以 app.UseXxx() 就是用它

2. 典型用法(最小 API 也逃不掉)

csharp
复制
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();          // ← 得到 IApplicationBuilderapp.UseStaticFiles();   // 1  静态文件
app.UseRouting();       // 2  路由
app.UseAuthentication();// 3  认证
app.UseAuthorization(); // 4  授权
app.MapGet("/", () => "Hi"); // 5  终结点
app.Run();              // ← 生成 RequestDelegate 并启动主机
 
顺序 = 执行顺序,不可随意颠倒(例如认证必须在授权之前)。

3. 扩展方法全家桶(都在 Microsoft.AspNetCore.Builder 名下)

csharp
复制
UseStaticFiles()      // 静态文件
UseRouting()          // 路由
UseAuthentication()   // 认证
UseAuthorization()    // 授权
UseCors()             // 跨域
UseResponseCaching()  // 响应缓存
UseHttpLogging()      // HTTP 日志
UseSerilogRequestLogging() // Serilog 请求日志
UseDeveloperExceptionPage() // 开发错误页
 
源码位置:
Microsoft.AspNetCore.*.Builder 子文件夹,统一以 IApplicationBuilder 扩展形式出现。

4. 自定义中间件(也用它)

csharp
复制
public static class MyMiddlewareExtensions
{public static IApplicationBuilder UseMyMiddleware(this IApplicationBuilder builder)=> builder.Use(next => new MyMiddleware(next).Invoke);
}
 
调用:
csharp
复制
app.UseMyMiddleware(); // 链式拼装
 

5. 与 IServiceCollection 的关系

表格
复制
阶段接口
注册服务 IServiceCollection Microsoft.Extensions.DependencyInjection.Abstractions
注册中间件 IApplicationBuilder Microsoft.AspNetCore.Builder
流程:先服务 → 后管道
csharp
复制
builder.Services.AddSingleton<IMyService, MyService>(); // DI
var app = builder.Build();
app.UseMiddleware<MyMiddleware>();                    // 管道
 

✅ 一句话总结

Microsoft.AspNetCore.Builder 就是:
“提供 IApplicationBuilder 和全套扩展方法,让你按顺序把中间件拼成 HTTP 处理管道——请求从进到出每一步由谁处理,全由它决定。”
http://www.hskmm.com/?act=detail&tid=28039

相关文章:

  • 【往届已检索|EI稳定检索】第五届信息技术与当代体育国际学术会议(TCS 2025)
  • windows版本 中间件更新问题记录
  • AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
  • 【完结11章】基于Golang+Gin+Gorm+Vue3母婴商城项目实战
  • 25-1010 从房间回声看懂离散卷积原理
  • 如何设计10亿用户级的微博Feed流系统并应对100W QPS的挑战?
  • 印度尼西亚股票实时数据API对接文档
  • 2025 年铝门窗厂家推荐榜,系统 / 智能 / 断桥 / 窄边 / 定制 / 全景 / 阳光房 / 隐框 / 隔声 / 防火铝门窗公司推荐
  • 如何播放 M3U8 格式的视频
  • 20232304 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • Codeforces Round 1056 (Div. 2) A~D
  • 现代软件工程阅读和提问作业-1
  • 一种CDN动态加速回源白名单选路及降低源站探测量的方法
  • Windows系统-应用问题全面剖析Ⅰ:德承工控机DA-1200在Windows操作系统下[开机黑屏]的解决方法 - Johnny
  • 某中心在旧金山设立AGI实验室专注长期AI研究
  • Appcrawler自动遍历工具-智能遍历测试与测试用例生成
  • [USACO20FEB] Clock Tree S
  • 光储充一体化 + MyEMS:新能源场站的 “能源管家” 是这样工作的
  • idea插件Doc View
  • PGSQL + patroni + timescaledb 集群搭建
  • 随着种植精细化需求提升,草莓滴灌管、圆柱式滴灌管及 PVC 滴灌管成为节水灌溉核心装备,盘点五家实力厂家的特色产品
  • 2025 年最新推荐 OCR 图片识别软件厂商榜单:全面解析文字识别与格式转换服务商技术实力及服务能力ocr图片转excel/ocr图片转word厂商推荐
  • 2025 年高纯硼酸生产厂家最新推荐榜单:覆盖多领域优选,助力企业精准找高性能产品制造商核级/半导体/医用/电子/颗粒高纯硼酸厂家推荐
  • 计数集锦2
  • app.Environment.IsDevelopment()了解
  • 2025 年最新注浆管生产厂家综合实力排行榜:聚焦高精度与国企合作案例的优质厂家推荐管棚管/地质/边坡支护/袖阀/锚杆/岩心注浆管厂家推荐
  • 微算法科技(NASDAQ:MLGO)基于任务迁移的弹性框架重塑动态扩缩容,赋能边缘智能计算
  • 从小时级到分钟级:多点DMALL如何用Apache SeaTunnel把数据集成成本砍到1/3?
  • 2025 最新隔音棉生产厂家口碑推荐榜:甄选实力与品质兼具的品牌,含西南 / 昆明高性价比厂商最新推荐防火墙/内衬/鸡蛋/聚酯纤维/装修/吊顶隔音棉厂家推荐
  • 2025 升降杆厂家TOP 榜:梁山信达恒泰,专注多领域设备供应,气动型升降杆源头厂家推荐!