1.比较3个设置的优先级,如下图
![](https://img.haomeiwen.com/i17339939/d73d652b8d1ddbf1.png)
![](https://img.haomeiwen.com/i17339939/e5115634260b13d1.png)
![](https://img.haomeiwen.com/i17339939/56371faf5a9c703a.png)
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
用户机密
环境变量
命令行参数
网友评论