第10课:环境变量配置提供程序
学习分享 丨作者 / 郑 子 铭 丨公众号 / DotNet NB / CloudNative NB
环境变量的配置提供程序主要适应场景:
1、在 Docker 中运行时
2、在 Kubernetes 中运行时
3、需要设置 ASP.NET Core 的一些内置特殊配置时
环境变量和命令行这两个提供程序在早期是没有容器化的,当时一个操作系统会跑多个应用程序,应用程序注入配置的方式一般都是通过文件或者是命令行的方式来注入的,环境变量当时用的比较少
现在在容器化的环境下,有了 Docker 的隔离能力,就意味着每一个应用程序都相当于跑在一个小型的操作系统下面一样,所以说这个时候 Docker 提供的环境隔离能力让我们可以使用环境变量来配置应用程序,在 Docker 和 Kubernetes 中,会大量使用环境变量,而不是使用命令行来配置基础配置
环境变量的配置有如下特点:
1、对于配置的分层键,支持使用双下横线 "__" 代替 ":"
2、支持根据前缀加载
在某些操作系统,比如说 Linux 下面,冒号作为环境变量的 Key 值是不行的,所以说这里支持用双下划线来代替冒号,也就是说当遇到双下划线的环境变量时,可以认为这是一个分层键
环境变量提供程序还支持根据环境变量的前缀来加载
接下来时代码演示
首先引入三个包
Microsoft.Extensions.Configuration.Abstractions
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.EnvironmentVariables
然后看一下环境变量如何在调试环境下注入
右键项目,属性,调试,环境变量
同样的在 Properties 下的 launchSettings.json 可以看到配置
主程序
启动程序,输出如下:
分层键
启动程序,输出如下:
多级分层键
启动程序,输出如下:
前缀过滤:是指在注入环境变量的时候,指定一个前缀,意味着只注入指定前缀的环境变量,而不是把整个操作系统的所有环境变量注入进去
启动程序,输出如下:
Last updated