1.比較3個設(shè)置的優(yōu)先級核行,如下圖
2.輸出
@inject Microsoft.Extensions.Configuration.IConfiguration Configuration
@Configuration["myenv"]
3.結(jié)論:
優(yōu)先級:
appsettings.json <項目環(huán)境變量<secrets.json
4.應(yīng)用:
appsetting.Production.json 中例如數(shù)據(jù)庫鏈接等機密信息,往往不會放入源碼管理庫里练对,而是在發(fā)布后再手動添加到生產(chǎn)環(huán)境耙箍。
本地使用時景馁,每個開發(fā)員應(yīng)當(dāng)使用secrets.json各自配置機密串信息终息,該文件不會提交到源碼管理庫里
5.源碼
https://github.com/aspnet/MetaPackages/blob/release/2.2/src/Microsoft.AspNetCore/WebHost.cs
檢查文件后扮饶,您將看到淮韭,以下是讀取各種配置源的默認(rèn)順序
appsettings.json,
appsettings.{Environment}.json
用戶機密
環(huán)境變量
命令行參數(shù)