Net Core 高级知识点 泛型主机 HostBuilder
ASP.NET Core 中的应用启动
ASP.NET Core 模板会创建一个 .NET Core 泛型主机 HostBuilder(程序初始化实用工具)
hostbuilder中有个拓展方法ConfigureServices(IHostBuilder, Action<IServiceCollection>):向容器添加服务。 可多次进行调用,并累加结果
主机:是封装应用资源的对象
例如:说明下面列举的四个都是code中可能会用到的资源(就是mircosoft做好的,我们可以直接那来用就好了)
- 依赖关系注入 (DI)
- Logging
- Configuration
IHostedService
实现
当主机启动时,它将对在托管服务的服务容器集合中注册的 IHostedService 的每个实现调用 IHostedService.StartAsync。
在web 应用中,其中一个 IHostedService
实现是启动 HTTP 服务器实现的 web 服务。
主机通常由 Program
类中的代码配置、生成和运行。 Main
方法:
- 调用
CreateHostBuilder
方法以创建和配置生成器对象。 - 对生成器对象调用
Build
和Run
方法。
Configuration
ASP.NET Core 提供了配置框架,可以从配置提供程序的有序集中将设置作为名称/值对。
可将内置配置提供程序用于各种源,例如 .json 文件、.xml 文件、环境变量和命令行参数 。
可编写自定义配置提供程序以支持其他源。
默认情况下,ASP.NET Core 应用配置为从 appsettings.json、环境变量和命令行等读取内容。
加载应用配置后,来自环境变量的值将替代来自 appsettings.json 的值。
读取相关配置值的首选方法是使用选项模式
人各有命,上天注定,有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择,那么旅程的终点在哪,也没人知道。你会走到哪,会遇到谁,都不一定。