通过在 Configure 方法中调用 UseXYZ 扩展方法
ASP.NET Core 应用是在其 Main 要领中创建 Web 处事器的控制台应用:
Main 要领挪用 WebHost.CreateDefaultBuilder,通过生成器模式来创建web主机.生成器供给界说 Web 处事器(例如,UseKestrel)和启动类 (UseStartup) 的要领。 在前面的例子中,自动分配了 Kestrel Web 处事器。ASP.NET Core 的 Web 主机测验考试在 IIS 上运行(如果可用)。 对付其他 Web 处事器(如 HTTP.sys),可通过挪用相应的扩展要领来使用。 不才一节对 UseStartup 进行了更深入的介绍。
IWebHostBuilder 是 WebHost.CreateDefaultBuilder 挪用的返回类型,它供给了许多可选要领。 此中的一些要领包孕用于在 HTTP.sys 中托管应用的 UseHttpSys ,以及用于指定根内容目录的 UseContentRoot。 Build 和 Run 要领生成 IWebHost 东西,该东西托管应用并开始侦听 HTTP 请求。
WebHostBuilder 供给了许多可选要领,此中包孕用于在 IIS 和 IIS Express 中进行托管的 UseIISIntegration,以及用于指定根内容目录的 UseContentRoot。 Build 和 Run 要领生成 IWebHost 东西,该东西托管应用并开始侦听HTTP 请求。
Startup 类用于界说请求措置惩罚惩罚管道和配置应用所需的任何处事
ConfigureServices 界说应用所使用的处事(如 ASP.NET Core MVC、Entity Framework Core 和标识)。 Configure界说在请求管道中挪用的中间件。
public class Startup { // This method gets called by the runtime. Use this method // to add services to the container. public void ConfigureServices(IServiceCollection services) { } // This method gets called by the runtime. Use this method // to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app) { } }
内容:如 Razor Pages、MVC 视图和静态资源
Web根:包罗大众资源、CSS 等静态资源、JavaScript 和图形文件。
依赖关系注入处事:处事是应用中常用的组件。 可以通过依存关系注入 (DI) 来获取处事。 ASP.NET Core 包孕默认撑持结构函数注入的本机控制反转 (IoC) 容器。 可按照需要替换默认容器。 DI 除了具备松散耦合优势以外,还可以使处事(例如日志记录)在整个应用中可用。
中间件:在 ASP.NET Core 中,使用中间件来撰写请求管道。 ASP.NET Core 中间件在 HttpContext 上执行异步操纵,然后挪用管道中的下一其中间件或终止请求。凭据惯例,通过在 Configure 要领中挪用 UseXYZ 扩展要领,向管道添加名为“XYZ”的中间件组件。ASP.NET Core 包罗一组丰富的内置中间件,你也可以编写本身的自界说中间件。 ASP.NET Core 应用中撑持 .NET的开放 Web 接口 (OWIN),它将 Web 应用与 Web 处事器疏散。
HTTP启动请求:IHttpClientFactory 可访谒 HttpClient 实例以发出 HTTP 请求。
环境:环境(如“开发”环境和“出产”环境)是 ASP.NET Core 的高级观点,可使用环境变量、设置文件和命令行参数进行设置。
ASP.NET Core 应用可配置和启动一个主机,卖力应用启动和保留期打点。
处事器:ASP.NET Core 托管模型不直接侦听请求。 托管模型依赖 HTTP 处事器实现将请求转发到应用。 转发的请求被打包为一组可通过接口进行访谒的成果东西。 ASP.NET Core 包罗托管的跨平台 Web 处事器,名为 Kestrel。 Kestrel凡是在出产 Web 处事器(如反向代办代理配置中的 IIS 或 Nginx)后台运行。
配置:基于名称/值对使用配置模型,不再是system.Configuration和web.config。配置从一组有序的配置供给措施获取设置。 内置配置供给措施撑持各类文件格局(XML、 JSON、INI)、环境变量和命令行参数。 也可以编写你本身的自界说配置供给措施。
日志记录:ASP.NET Core 撑持适用于各类日志记录供给措施的日志记录 API。 内置供给措施撑持向一个或多个方针发送日志。 可使用第三方记录框架。
错误措置惩罚惩罚:ASP.NET Core 的内置方案可措置惩罚惩罚应用中的错误,包孕开发人员异常页、自界说错误页、静态状态代码页和启动异常措置惩罚惩罚。
路由
文件措置惩罚惩罚
静态文件
会话和应用状态:ASP.NET Core 供给几种可在用户浏览 web 应用时保存会话和应用状态的要领。
请求成果:与HTTP请求和响应相关的Web处事器实现详细信息在接口中界说,处事器实现和中间件使用这些接口来创建和改削应用的托管管道。
后台任务:后台任务作为托管处事实现。 托管处事是一个类,具有实现 IHostedService 接口的后台任务逻辑。
WebSockets:WebSocket 是一个协议,撑持通过 TCP 连接成立长期的双向信道。 它可用于聊天、股票报价和游戏等应用,以及Web 应用中需要实时成果的任何位置。 ASP.NET Core 撑持 Web 套接字方案。
Statusup类配置处事和请求管道
Statusup类包孕ConfigureServices要领以配置应用的处事.Configure要领以创建应用的请求措置惩罚惩罚管道
在 Startup 类中注入依赖关系的常见用途为注入:
IHostingEnvironment 以按环境配置处事。
IConfiguration 以读取配置。
ILoggerFactory 以在 Startup.ConfigureServices 中创建记录器。
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30302.html