C# docker编写环境变量到IConfiguration,怎么办?
我使用docker compose文件保存所有环境变量C# docker编写环境变量到IConfiguration,怎么办?,c#,docker-compose,azure-active-directory,environment-variables,asp.net-core-3.1,C#,Docker Compose,Azure Active Directory,Environment Variables,Asp.net Core 3.1,我使用docker compose文件保存所有环境变量 environment: - Instance=https://login.microsoftonline.com/ - ClientId=xxxxxxxx 我可以在我的asp.net核心web api应用程序statrtup类中访问这些变量,如下所示 var instance = Environment.GetEnvironmentVariable("Instance") var clientId = Env
environment:
- Instance=https://login.microsoftonline.com/
- ClientId=xxxxxxxx
我可以在我的asp.net核心web api应用程序statrtup
类中访问这些变量,如下所示
var instance = Environment.GetEnvironmentVariable("Instance")
var clientId = Environment.GetEnvironmentVariable("ClientId")
在statrtup
类中,I可以将下面的整个likeI配置
发送到以下方法:
services.AddProtectedWebApi(Configuration);
它将自动读取我在appsettings.json的AzureAd
部分中配置的所有配置
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"ClientId": "xxxxxxxxxxxxxxxxxxxxxx",
"Domain": "xxxxxxxxxxxxxxxxxxxxxxxxx",
"TenantId": "xxxxxxxxxxxxxxxxxxxxxxx"
},
现在我的问题是,我们如何读取环境变量(而不是appsettings.json
)并使用配置部分AzureAd
准备IConfiguration
?您应该使用以下带前缀的环境变量名称:
environment:
- AzureAd__Instance=https://login.microsoftonline.com/
- AzureAd__ClientId=xxxxxxxx
要覆盖appsettings.json
,您是否在询问如何创建一个读取环境变量的类,并实现一个接口(IConfiguration)并将其传递给一个方法?看起来您已经知道如何做这些事情了?如何转换来自env的appsettings的覆盖值。变量?太好了。谢谢,谢谢!
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"ClientId": "xxxxxxxxxxxxxxxxxxxxxx",
"Domain": "xxxxxxxxxxxxxxxxxxxxxxxxx",
"TenantId": "xxxxxxxxxxxxxxxxxxxxxxx"