2020-08-22

01 .net core 3.x 启动顺序

1. .net core 3.x启动执行顺序

  1. ConfigureWebHostDefaults:使用.net core 3.x的默认配置
  2. ConfigureHostConfiguration
  3. ConfigureAppConfiguration
  4. ConfigureServices
  5. ConfigureLogging
  6. Startup
  7. Startup.ConfigureSerices:主要是用于注册服务容器,例如进行依赖注入和读取配置文件等。
  8. Startup.Configure:.net core 3.x启动时会调用这个方法,这里主要是配置HTTP请求管道,例如路由、mvc、静态文件等。

2. 例子

asp.net core本质上是一个命令行程序,从Program.cs的Main方法启动。新建一个API类型的模板(默认已经配置好了一些功能)来进行测试。

 

 

public class Program { public static void Main(string[] args) {  CreateHostBuilder(args).Build( ).Run( ); } public static IHostBuilder CreateHostBuilder(string[] args) =>  Host.CreateDefaultBuilder(args)   .ConfigureWebHostDefaults(webBuilder => {    // 这里调用了Startup这个类作为配置    webBuilder.UseStartup<Startup>( );   });}public class Startup { // 这里的configuration也是通过依赖注入获得 // 因为.net core默认已经进行了一些依赖注入的绑定 public Startup(IConfiguration configuration) {  Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) {  // 这里添加我们自己依赖注入服务  services.AddControllers( ); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {  if (env.IsDevelopment( )) {   app.UseDeveloperExceptionPage( );  }  // .NET Core 3.x的执行管道  app.UseRouting( );  app.UseAuthorization( );  app.UseEndpoints(endpoints => {   endpoints.MapControllers( );  }); }}

 

 

01 .net core 3.x 启动顺序Sunratepicitup2017开年沙龙 涵哥&招商经理喊你一起聊亚马逊旺季前夕,看看去年德国站什么产品爆单了?eBay移动端推出了什么功能?2020年eBay移动端推出的功能是免费的吗?·敏哥:揭秘亚马逊A9算法中的关联流量玩儿法珠海情侣路在哪里?好玩吗?清远黄龙峡漂流有什么特色?东莞丽城隐贤山庄在哪?怎么去?

No comments:

Post a Comment