.net core mvc啓動順序以及主要部件1

   首先我是新人一個寫這些東西也是爲了增長記憶,有不對的地方請多多指教。json

說回正題,打開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的值,例如:mvc

public Startup(IConfiguration configuration)
{
     Console.WriteLine(configuration["connectionstring"]);
 }

CrateWebHostBuilder參數繼續看下去,CrateWebHostBuilder方法中有個WebHost.CreateDefaultBuilder(args),首先說說CreateDefaultBuilder是幹什麼的,其實這個方法主要就是IConfiguration的構建,轉到源代碼能夠看見 第一行代碼建立了WebHostBuilder這個對象是貫穿整個CreateDefaultBuilder方法的核心,WebHostBuilder構建了IConfiguration實例以及基礎環境配置,請看下圖app

 而後繼續往下,下面的if中是對WebHostBuilder環境配置的補充,而後繼續就看見咱們前面所提到的cmd配置的實現,在接下來是咱們.net core 做爲Kestrel啓動的配置請看下圖!
網站

而後再下來是咱們的主要配置部分,也就是appsettings.json文件的配置,appsettings.json文件分爲兩個部分,一、直接就是appsettings.json文件。二、按照環境不一樣分別配置不一樣的appsettings.json配置,例如:咱們的開發環境能夠是這樣appsettings.Development.json,生成環境能夠是appsettings.Production.json,預演環境也是同理,具體請看下圖:
ui

再繼續往下看,接下來是咱們的默認日記記錄配置,也就是咱們平時在啓動.netcore mvc會看到在控制檯和咱們vs中的輸出以及調試窗口中會打印一些啓動信息和異常信息,其實就是咱們接下來看到的日誌記錄,請看下圖:spa

 

最後就是咱們的依賴注入容器和IIS配置;最後返回最開始建立的WebHostBuilder實例,請看下圖:
.net

好了,暫時寫到這裏,後面再繼續分享Startup調試

相關文章
相關標籤/搜索