.net core 启动过程

Asp.Net Core 3.1学习- 应用程序的启动过程(5) - 魏杨杨 - 博客园 (cnblogs.com)

2.1、ConfigureWebHostDefaults

这个阶段注册了我们应用程序必要的几个组件,比如说配置的组件、容器的组件

2.2、ConfigureHostConfiguration

它是用来配置我们应用程序启动时必要的配置。比如说我们应用程序启动时所需要的监听的端口、我们需要监听的Url地址这些。在这个过程我们可以嵌入一些我们自己的配置内容注入到我们的配置的框架中去

 

 2.3、ConfigureAppConfiguration

是让我们来嵌入我们自己的配置文件供应用程序来读取,这些配置将来就会在后续的应用程序执行过程中间每个组件读取

2.4、ConfigureServices、ConfigureLogging、Startup、Startup.ConfigureServices

这些的话都是用来往容器里面注入我们的应用的组件

2.5、Startup.Configure

是我们用来注入我们的中间件,处理HttpContext整个请求过程的

3、Startup类非必要

Startup这个类其实不是必要的,在Progarm里面也可以配置,

 1 public static IHostBuilder CreateHostBuilder(string[] args) =>
 2             Host.CreateDefaultBuilder(args)
 3                 //入参 IWebHostBuilder
 4                 .ConfigureWebHostDefaults(webBuilder =>
 5                 {
 6                     Console.WriteLine("ConfigureWebHostDefaults");
 7                     // webBuilder.UseStartup<Startup>();
 8                     webBuilder.ConfigureServices(services =>//对等Startup里面的Startup.ConfigureServices
 9                     {
10                         services.AddControllers();
11                     })
12                     .Configure(app =>// 对等Startup里面的Startup.Configure
13                     {
14                         //if (env.IsDevelopment())
15                         //{
16                         //    app.UseDeveloperExceptionPage();
17                         //}
18 
19                         app.UseHttpsRedirection();
20 
21                         app.UseRouting();
22 
23                         app.UseAuthorization();
24 
25                         app.UseEndpoints(endpoints =>
26                         {
27                             endpoints.MapControllers();
28                         });
29                     });
30                 })
31                 //入参 IServiceCollection
32                 .ConfigureServices(services =>
33                 {
34                     Console.WriteLine("ConfigureServices");
35                 })
36                 //委托入参是:IConfigurationBuilder
37                 .ConfigureAppConfiguration(builder =>
38                 {
39                     Console.WriteLine("ConfigureAppConfiguration");
40                 })
41                
42                 //入参IConfigurationBuilder
43                 .ConfigureHostConfiguration(builder =>
44                 {
45                     Console.WriteLine("ConfigureHostConfiguration");
46                 }) ;

 

 

 

posted on 2023-02-12 22:22  是水饺不是水饺  阅读(62)  评论(0编辑  收藏  举报

导航