1.比較3個設置的優先級,如下圖
2.輸出
@inject Microsoft.Extensions.Configuration.IConfiguration Configuration
@Configuration["myenv"]
3.結論:
優先級:
appsettings.json <項目環境變量<secrets.json
4.應用:
appsetting.Production.json 中例如數據庫鏈接等機密信息,往往不會放入源碼管理庫裏,而是在發佈後再手動添加到生產環境。
本地使用時,每個開發員應當使用secrets.json各自配置機密串信息,該文件不會提交到源碼管理庫裏
5.源碼
https://github.com/aspnet/MetaPackages/blob/release/2.2/src/Microsoft.AspNetCore/WebHost.cs
檢查文件後,您將看到,以下是讀取各種配置源的默認順序
appsettings.json,
appsettings.{Environment}.json
用戶機密
環境變量
命令行參數