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

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

说回正题,打开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实例以及基础环境配置,请看下图

然后继续往下,下面的if中是对WebHostBuilder环境配置的补充,然后继续就看见我们前面所提到的cmd配置的实现,在接下来是我们.net core 作为Kestrel启动的配置请看下图!

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

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

最后就是我们的依赖注入容器和IIS配置;最后返回最开始创建的WebHostBuilder实例,请看下图:

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

.net core mvc启动顺序以及主要部件1的更多相关文章

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

    原文:.net core mvc启动顺序以及主要部件2 前一篇提到WebHost.CreateDefaultBuilder(args)方法创建了WebHostBuilder实例,WebHostBuil ...

  2. .net core mvc启动顺序以及主要部件4-MVC

    前面三章已经把MVC启动过程以及源代码做了讲解,本章开始正式MVC,mvc全称叫model view controller,也就是把表现层又细分三层,官网的图片描述: 默认创建了一个.net core ...

  3. .net core mvc启动顺序以及主要部件3-Startup

    前面分享了.net core Program类的启动过程已经源代码介绍,这里将继续讲Startup类中的两个约定方法,一个是ConfigureServices,这个方法是用来写我们应用程序所依赖的组件 ...

  4. PCB MVC启动顺序与各层之间数据传递对象关系

    准备着手基于MVC模式写一套Web端流程指示查看,先着手开发WebAPI打通数据接口,后续可扩展手机端 这里将MVC基本关系整理如下: 一.MVC启动顺序 二.MVC各层之间数据传递对象关系

  5. ASP.NET Core MVC 源码学习:MVC 启动流程详解

    前言 在 上一篇 文章中,我们学习了 ASP.NET Core MVC 的路由模块,那么在本篇文章中,主要是对 ASP.NET Core MVC 启动流程的一个学习. ASP.NET Core 是新一 ...

  6. asp.net core mvc剖析:启动流程

    asp.net core mvc是微软开源的跨平台的mvc框架,首先它跟原有的MVC相比,最大的不同就是跨平台,然后又增加了一些非常实用的新功能,比如taghelper,viewcomponent,D ...

  7. 解说asp.net core MVC 过滤器的执行顺序

    asp.net core MVC 过滤器会在请求管道的各个阶段触发.同一阶段又可以注册多个范围的过滤器,例如Global范围,controller范围等.以ActionFilter为例,我们来看看过滤 ...

  8. linux下使用supervisor启动.net core mvc website的配置

    发布好的asp.net core mvc项目, 如果想在window或linux下的以控制台程序启动的话,可以用下面的命令 dotnet MyProject.dll --urls="http ...

  9. net core mvc剖析:启动流程

    net core mvc剖析:启动流程 asp.net core mvc是微软开源的跨平台的mvc框架,首先它跟原有的MVC相比,最大的不同就是跨平台,然后又增加了一些非常实用的新功能,比如taghe ...

随机推荐

  1. docker参考文档

    docker 使用笔记 http://www.cnblogs.com/xguo/p/3829329.html docker数据存储 | 单线程 http://opjasee.com/2014/06/2 ...

  2. 快照、克隆,xshell优化,Linux历史

    目录 一.虚拟拍照功能 二.虚拟机克隆功能 三.Xshell的优化 四.介绍Linux历史 一.虚拟拍照功能 1.拍摄快照 关机状态拍照 关机命令:shutdown -h now 或者 init 0 ...

  3. js实现一个简单的响应式双向数据绑定

    一,基本原理 我们这里使用了对象中的一个特殊属性:访问器属性,这个属性不能在对象中设置,而是必须通过defineProperty()方法单独定义. 我们首先定义一个函数: var obj = { }; ...

  4. 大数据学习——hbase数据库

    Hhbase集群搭建 一 第一步 准备:搭建hadoop集群,搭建zookeeper 二 第二步:上传安装包 解压 1 tar -zxvf  hbase-1.2.1-bin.tar.gz 重命名 2 ...

  5. python 中zip()函数的使用

    zip(*iterables)函数的定义: zip()函数的对象Iterables,iterables可以有多个参数(元组,列表等可迭代对象)组成.通过zip()函数返回一组元组数据,每个元组中的第i ...

  6. NYOJ-525一道水题思路及详解

    一道水题 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 今天LZQ在玩一种小游戏,但是这游戏数有一点点的大,他一个人玩的累,想多拉一些人进来帮帮他,你能写一个程序帮帮他 ...

  7. oracle用户密码错误导致用户锁定

    解决方法:使用DBA用户将其解锁: SQL> alter user ecology account unlock; 用户已更改. 用户密码限制设置: 查看FAILED_LOGIN_ATTEMPT ...

  8. 关于JS中字符串赋值的问题

    JS中不能直接  字符串不能 str[i] = 'x'     不能for循环 字符串length 然后赋值 应该 将字符串转换为数组   而且 字符x[i]=* 不是所有浏览器都兼容的 用  spl ...

  9. Snmp的学习总结(一)

    摘自:http://blog.csdn.net/shanzhizi/article/details/11606767   目录(?)[-] SNMP的5种协议数据单元 SNMP的运行过程 11 Get ...

  10. out.print和out.write

    这是一个JSP页面: <%@ page language="java" import="java.util.*"  %> <%@ page p ...