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

用户机密

环境变量

命令行参数



 

Logo

一站式 AI 云服务平台

更多推荐