01 | Asp.Net Core 启动过程

1. 项目结构
![](https://img2020.cnblogs.com/blog/1191830/202103/1191830-20210304110643926-1325325224.png)

2. Program文件(启动过程)
实现IHostBuilder接口(ConfigureServices、ConfigureAppConfiguration、ConfigureHostConfiguration)并打印出来
![](https://img2020.cnblogs.com/blog/1191830/202103/1191830-20210304110648484-1448879144.png)


3. Program文件解析
IHostBuilder 程序初始化抽象。(应用程序启动的核心接口), 接口定义:
![](https://img2020.cnblogs.com/blog/1191830/202103/1191830-20210304110659268-438780383.png)


	a. ConfigureWebHostDefaults:注册组件(配置组件、容器组件等)。
	b. ConfigureHostConfiguration:设置生成器自身的配置。 这将用于初始化 IHostEnvironment 以便稍后在生成过程中使用。 可多次进行调用,并累加结果。配置应用程序启动时必要的配置,比如程序启动时需要监听的端口、URL地址等。
	c. ConfigureAppConfiguration: 为生成过程和应用程序的其余部分设置配置。 可多次进行调用,并累加结果。 可在 Configuration(用于后续操作)和 Services 中获取结果。嵌入自己的配置文件,供应用程序读取。
	d. ConfigureServices:向容器添加服务。 可多次进行调用,并累加结果。向容器中注入应用的组件。
	e. startup.Configure:注入中间件,处理HttpContext整个的请求过程。

程序执行顺序:
	ConfigureWebHostDefaults-->ConfigureHostConfiguration-->ConfigureAppConfiguration-->ConfigureServices-->ConfigureLogging-->startup-->startup.ConfigureServices-->startup.Configure
![](https://img2020.cnblogs.com/blog/1191830/202103/1191830-20210304110706552-220494448.png)


startup文件:
![](https://img2020.cnblogs.com/blog/1191830/202103/1191830-20210304110711889-314883401.png)
posted @ 2021-03-05 14:18  Canaban  阅读(120)  评论(0编辑  收藏  举报