使用场景
- 在
Docker
中运行 - 在
Kubernetes
中运行 - 需要设置
ASP.NET Core
的一些内置特殊配置时
特性
- 对应配置的分层键,支持用双下划线”
--
“代替”:
“ - 支持根据前缀加载
代码示例
创建项目
创建名字为ConfigurationEnvironmentVariablesDemo
的控制台应用
,通过nuget
引入以下三个包:
1 | Microsoft.Extensions.Configuration |
获取环境变量配置
修改Program.Main
方法,代码如下:
1 | using System; |
配置测试参数:
- 在
Visual Studio 2019
中,可以右键项目名称->属性->调试->环境变量中添加以下内容:1
2
3
4
5"DIMSUM_KEY1": "dimsum_value1",
"KEY3": "value3",
"KEY1": "value1",
"SECTIONA__KEY2": "value2",
"KEY4": "value4" - 在
Visual Studio Code
中,可以编辑launchSettings.json
文件,新增environmentVariables
字段,具体代码如下:运行项目,会得到以下信息:1
2
3
4
5
6
7
8
9
10
11
12
13
14{
"profiles": {
"ConfigurationEnvironmentVariablesDemo": {
"commandName": "Project",
"environmentVariables": {
"DIMSUM_KEY1": "dimsum_value1",
"KEY3": "value3",
"KEY1": "value1",
"SECTIONA__KEY2": "value2",
"KEY4": "value4"
}
}
}
}1
2KEY3=value3
SECTIONA:KEY2=value2
前缀过滤
过滤指定前缀的环境变量,具体代码如下:
1 | using System; |
运行项目可以得到以下信息
1 | DIMSUM_KEY1=dimsum_value1 |
说明这里获取到的是DIMSUM_KEY1
这个配置,而非KEY
这个配置