Program.main
- 创建主机(Host.CreateDefaultBuilder(args));
- 配置主机(ConfigureWebHostDefaults()):
- 使用 kestrel 主机
- 读取配置文件
- 配置 log 组件
- 注册默认 IOC 容器
- 使用 Startup
- Startup.ConfigureServices 对程序中涉及的相关服务进行注册;
- Startup.Configure 配置请求管道。
启动执行顺序
- ConfigureWebHostDefaults 注册组件,比如 Configuration 组件、IOC 容器组件等
- ConfigureHostConfiguration 设置生成器自身的配置,比如配置监听的端口、URL 地址
- ConfigureAppConfiguration 为应用程序设置其他配置,比如设置自定义配置文件
- ConfigureServices、ConfigureLogging、Startup.ConfigureServices 服务注册
- Startup.Configure 配置请求中间件