[TOC] <br/><br/><br/> # <b style="color:#4F4F4F;">简介说明</b> ``` 版本:Microsoft.AspNetCore.Builder 作用:dotnet core web应用构建模块 ``` <br/> # <b style="color:#4F4F4F;">Microsoft.AspNetCore.Builder.IApplicationBuilder</b> <br/> # <span style="color:#619BE4">ApplicationServices</span> ***** 应用服务提供对象,顶级根容器 <br/> ### 返回类型 ``` Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope ``` <br/> ### 示例内容 <span style="color:red;">1. 生命周期</span> ![](https://img.kancloud.cn/4c/de/4cde8a3670daa688909e8aeccd23c1a7_340x685.png) <br/> # <span style="color:#619BE4">Map()</span> ***** 映射指定路由到指定中间件 <br/> # <span style="color:#619BE4">MapWhen()</span> ***** 接收两个函数,当第一个委托成功执行接下来的中间件 <br/> ### 示例内容 <span style="color:red;">1. 举例说明</span> ``` app.MapWhen(context => { Console.WriteLine(context.Request.Path.Value); return context.Request.Path.Value.StartsWith("/filterwhen"); }, builder => { builder.Run(async (context) => { await context.Response.WriteAsync("I am filterwhen!"); }); }); ``` <br/> # <span style="color:#619BE4">Run()</span> ***** 指定use不在执行接下来中间件 <br/> # <span style="color:#619BE4">Use()</span> ***** 将中间件委托添加到应用程序的请求管道 <br/> ### 示例内容 <span style="color:red;">1. 注册中间件</span> ``` app.Use(async (context, next) => { await context.Response.WriteAsync("hello world"); }); app.Use(requestDelegate => { return async context => { await context.Response.WriteAsync("hello world2"); // await requestDelegate(context); }; }); ``` <br/> # <span style="color:#619BE4">UseMiddleware\<M>()</span> ***** 注册中间件类 <br/> ### 示例内容 <span style="color:red;">1. 举例说明</span> ``` using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using SharpGun.Middlewares; namespace Microsoft.AspNetCore.Builder { public static class HelloMiddlewareExtensions { public static IApplicationBuilder UseHelloMiddleware(this IApplicationBuilder app) { return app.UseMiddleware<HelloMiddleware>(); } } } namespace SharpGun.Middlewares { public class HelloMiddleware { private RequestDelegate _next; public HelloMiddleware(RequestDelegate next) { _next = next; } public async Task InvokeAsync(HttpContext context) { await context.Response.WriteAsync("hello middleware"); await _next(context); } } } ``` <br/> # <span style="color:#619BE4">UseWhen()</span> ***** 按条件执行,与MapWhen不同的是,UseWhen执行完后切回主分支 <br/> # <span style="color:#619BE4">UseWelcomePage()</span> ***** 欢迎页面 <br/> # <span style="color:#619BE4">UseRewriter()</span> ***** 使用重映射 <br/> # <span style="color:#619BE4">UseFileServer()</span> ***** 使用文件服务,将index.html设置为默认页 <br/> # <span style="color:#619BE4">UseDefaultFiles()</span> ***** 使用默认页 <br/> # <span style="color:#619BE4">[ove]-UseStaticFiles()</span> ***** 使用静态页 <br/> # <span style="color:#619BE4">[ove]-UseStaticFiles()</span> ***** 使用静态页 <br/> ### 参数说明 <b style="color:#808080;">requestPath:</b> * 类型:字符串 * 默认值:无 * 描述:请求静态资源路径 * 可选值:[ ] <br/> # <span style="color:#619BE4">[ove]-UseStaticFiles()</span> ***** 使用静态页 <br/> ### 参数说明 <b style="color:#808080;">StaticFileOptions:</b> * 类型:字符串 * 默认值:无 * 描述:静态文件配置参数 * 可选值:[ ] <br/> # <span style="color:#619BE4">UseRouter()</span> ***** 使用指定路由对象 <br/> # <span style="color:#619BE4">UseRouting()</span> ***** 启用路由中间件 <br/> # <span style="color:#619BE4">UseMvcWithDefaultRoute()</span> ***** 使用MVC默认映射路由 <br/> # <span style="color:#619BE4">UseEndpoints()</span> ***** 使用路由匹配处理 <br/> # <span style="color:#619BE4">UseHsts()</span> ***** 使用Hsts访问安全通道 <br/> # <span style="color:#619BE4">UseExceptionHandler()</span> ***** 使用异常页控制器 <br/> # <span style="color:#619BE4">UseDeveloperExceptionPage()</span> ***** 使用开发异常显示页 <br/> # <span style="color:#619BE4">UseSwagger()</span> ***** 使用Swagger开发文档模板 <br/> # <span style="color:#619BE4">UseSwaggerUI()</span> ***** 使用Swagger开发文档模板UI <br/> # <span style="color:#619BE4">UseHttpsRedirection()</span> ***** 使用https重定向 <br/> # <span style="color:#619BE4">UseStatusCodePages()</span> ***** 添加带有默认响应处理程序的 StatusCodePages 中间件 <br/> # <b style="color:#4F4F4F;">Microsoft.AspNetCore.Builder.DefaultFilesOptions</b> <br/> # <span style="color:#619BE4">DefaultFileNames</span> ***** 默认情况下要选择的文件名的有序列表,一个ICollection对象 <br/> # <b style="color:#4F4F4F;">Microsoft.AspNetCore.Builder.StaticFileOptions</b> <br/> # <span style="color:#619BE4">[new]-StaticFileOptions</span> ***** 静态文件配置参数可选项 <br/>