欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.net core mvc启动顺序以及主要部件1

程序员文章站 2022-05-15 13:17:13
首先我是新人一个写这些东西也是为了增加记忆,有不对的地方请多多指教。 说回正题,打开Program.cs文件,看到在有个CrateWebHostBuilder方法它有个args的字符串数组参数,这个参数的主要作用是可以在用cmd启动网站程序的时候在后面传递一些参数例如: 这个时候我们是可以注入ICo ......

   首先我是新人一个写这些东西也是为了增加记忆,有不对的地方请多多指教。

说回正题,打开program.cs文件,看到在有个cratewebhostbuilder方法它有个args的字符串数组参数,这个参数的主要作用是可以在用cmd启动网站程序的时候在后面传递一些参数例如:

c:\users>e:\dotnetcore\demo\\bin\debug\netcoreapp2.2\razormvcdemo1.dll connectionstring="server=.;database=test;uid=sa;pwd=123456"

这个时候我们是可以注入iconfiguration这个实例拿到connectionstring的值,例如:

public startup(iconfiguration configuration)
{
     console.writeline(configuration["connectionstring"]);
 }

cratewebhostbuilder参数继续看下去,cratewebhostbuilder方法中有个webhost.createdefaultbuilder(args),首先说说createdefaultbuilder是干什么的,其实这个方法主要就是iconfiguration的构建,转到源代码可以看见 第一行代码创建了webhostbuilder这个对象是贯穿整个createdefaultbuilder方法的核心,webhostbuilder构建了iconfiguration实例以及基础环境配置,请看下图

.net core mvc启动顺序以及主要部件1

.net core mvc启动顺序以及主要部件1

 然后继续往下,下面的if中是对webhostbuilder环境配置的补充,然后继续就看见我们前面所提到的cmd配置的实现,在接下来是我们.net core 作为kestrel启动的配置请看下图!
.net core mvc启动顺序以及主要部件1

然后再下来是我们的主要配置部分,也就是appsettings.json文件的配置,appsettings.json文件分为两个部分,1、直接就是appsettings.json文件。2、按照环境不同分别配置不同的appsettings.json配置,例如:我们的开发环境可以是这样appsettings.development.json,生成环境可以是appsettings.production.json,预演环境也是同理,具体请看下图:
.net core mvc启动顺序以及主要部件1

再继续往下看,接下来是我们的默认日记记录配置,也就是我们平时在启动.netcore mvc会看到在控制台和我们vs中的输出以及调试窗口中会打印一些启动信息和异常信息,其实就是我们接下来看到的日志记录,请看下图:

 .net core mvc启动顺序以及主要部件1

最后就是我们的依赖注入容器和iis配置;最后返回最开始创建的webhostbuilder实例,请看下图:
.net core mvc启动顺序以及主要部件1

好了,暂时写到这里,后面再继续分享startup

上一篇: Linux-day-1

下一篇: 怎么是我的车