.NET Core学习——Program.cs

Program.cs

ASP.NET Core应用程序需要由Host(宿主)进行管理,宿主为其提供运行环境并负责启动。所以Main函数主要是用来初始化宿主环境,而宿主环境的初始化需要借助WebHostBuilder。初始化完毕后,调用Run()方法来启动应用程序。

1.WebHost.CreaateDefaultBuilder():创建WebHostBuilder

2.UseStartup<Startup>():指定启动类,用于依赖注入和中间件注册。

3.Build():返回初始化完毕的IWebHost宿主。

4.Run():启动WebHost。

.NET Core学习——Program.cs

Program.cs

CreateDefaultBuilder():

.NET Core学习——Program.cs

CreateDefaultBuilder()

从上图中我们可以看出CreateDefaultBuilder()方法主要干了六件事:

UseKestrel:使用Kestrel作为Web server。

UseContentRoot:指定Web host使用的content root(内容根目录),比如Views。默认为当前应用程序根目录。

ConfigureAppConfiguration:设置当前应用程序配置。主要是读取 appsettinggs.json 配置文件、开发环境中配置的UserSecrets、添加环境变量和命令行参数 。

ConfigureLogging:读取配置文件中的Logging节点,配置日志系统。

UseIISIntegration:使用IISIntegration 中间件。

UseDefaultServiceProvider:设置默认的依赖注入容器。

创建完毕WebHostBuilder后,通过调用UseStartup()来指定启动类,来为后续服务的注册及中间件的注册提供入口,IWebHostBuilder负责创建IWebHost,然后Run()方法启动IWebHost。



作者:房祥_a7f1
链接:https://www.jianshu.com/p/01721c257b4e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。