首先,Program.cs 文件:
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
1.Program类
program类是定义在项目根目录Program.cs文件中,所有.net core程序的入口,包括asp.net core 程序。
在asp.net core 3.1中 的Program类里,定义了2个方法:Main() 和CreateHostBuilder()
2.Main()方法
程序program.main方法依旧是程序的入口,程序会从这里进入。
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
这里main方法实际上执行了三个函数
1 IHostBuilder builder= CreateHostBuilder(args); CreateHostBuilder返回的是一个builder对象(对象也可以叫做实例) 2 IHost host=builder.Build(); build是builder的方法,定义在IHostBuilder 接口中,返回IHost实例 3 host.Run();run是host方法,开始运行web项目的意思,运行起来后,就可以建立请求了
Hosting , IHostBuilder ,CreateHostBuilder
Host类 及其作用 (可能会涉及容器docke的概念)host涉及的依赖注入
Startup 中间件的概念 ,Startup.cs文件,三个方法及其之间的关系和调用顺序
参考网址:
https://www.cnblogs.com/FlyLolo/category/1160583.html?page=1
ASP.NET Core 中间件 | Microsoft Learn
(未完待续)