本教程會對基本的.Net Core 進行一個大概的且不會太深刻的講解, 在您看完本系列以後, 能基本甚至熟練的使用.Net Core進行Web開發, 感覺到.Net Core的魅力.html
本教程知識點大致分爲如下幾個階段數據庫
這一節, 咱們來說解.Net Core 是怎麼獲取配置信息的. json
.Net Core配置信息來源主要有如下幾種安全
1. appsettings.json文件app
2. User Secretspost
3. 環境變量性能
4. 命令行參數單元測試
5. 自定義XML等等測試
在咱們上一節新建的項目中, 已經默認有appsettings.json文件了, 而且appsettings.json默認會加載到項目中來, 至於爲何會默認加載, 咱們能夠經過源碼進行分析, VS2017反編譯很差用, F12看不到完整的代碼, 這裏我使用ILSpy反編譯了.優化
咱們找到WebHost.CreateDefaultBuilder(args), 也就是CreateDefaultBuilder方法, 看到源碼以下圖
紅框部分就是默認的加載appsettings.json文件, 細心的博友可能發現了後面還有個get_EnvironmentName, 這個就是獲取當前環境變量, 加載不一樣的appsettings.json文件, 其實在項目新建好以後, 默認是有appsettings.json和appsettings.Development.json兩個json文件的, 那麼這樣子, .Net Core默認就會把這個兩個json配置都進行加載, 若是兩個json文件有兩個同樣的配置, 後面加載的會覆蓋前面加載的. 也能夠理解爲appsettings.json是全局配置, appsettings.Development.json是開發配置. 咱們能夠作個試驗
咱們新建的空MVC項目, 運行默認訪問只會輸出一句 Hello World! , 這是代碼默認的, 如圖
如今咱們把這個字符串配置到 json 文件中試試
打開appsettings.json, 添加一個配置, 如圖
我配置了一個新的歡迎語, 而後去取這個值, 取值須要注入一個IConfiguration接口對象, 才能去獲取配置信息, 咱們在Startup類裏面的Configure方法的參數進行注入, 注入以後進行取值, 修改默認輸出的Hello World!, 代碼如圖
而後F5運行, 能夠看到網頁上輸出Hello .Net Core, 沒有問題. 那麼接下來咱們在appsettings.Development.json裏面配置一個相同的配置項, 把值改一下, 如圖
而後再F5運行項目, 網頁就輸出Hello .Net Core Development, 可見, .Net Core會根據當前項目環境, 進行加載json文件, 若是有同樣的, 會覆蓋appsettings.json裏面的配置, 也能夠理解爲優先級的不一樣, 可是他並非優先級的不一樣, 而是進行覆蓋
咱們還能夠舉個例子, 從控制檯進行參數配置, 咱們進入到項目目錄, 運行 dotnet run WelcomeMsg="AAA", 而後訪問http://localhost:5000/, 輸出的就是AAA, 因此能夠說, 命令行參數優先級是最高的
講到這裏, 相信對IConfiguration接口和配置信息獲取使用已經掌握很大一部分了
好咯, 這一節都寫到這裏, 下一節講服務註冊和管道
若是在使用.Net Core遇到任何問題, 都加羣進行討論, 羣號: 1羣: 225982985. 2羣: 726648662. 3羣: 654015377