我有一个C#应用程序,我已经部署到Azure。现在,应用程序中有一个部分,我需要获取一些配置设置,所以我使用Environment.GetEnvironmentVariable(“VALUE”)来获取值。但在C#代码中,我有一个部分如下所示:
switch (type)
{
case "client1":
endpoint = $"{Environment.GetEnvironmentVariable("client1Value")}
break;
case "client2":
endpoint = $"{Environment.GetEnvironmentVariable("client2Value")}
break;
case "client3":
endpoint = $"{Environment.GetEnvironmentVariable("client3Value")}
break;
default:
break;
}
字符串
问题是我必须在Azure配置中定义3个值。但是如果我需要添加一个新的,我需要更改和重新编译代码。
因为在代码的其他部分我需要不同的值,
switch (type)
{
case "client1":
endpoint = $"{Environment.GetEnvironmentVariable("resetValue1")}
break;
case "client2":
endpoint = $"{Environment.GetEnvironmentVariable("resetValue2")}
break;
case "client3":
endpoint = $"{Environment.GetEnvironmentVariable("resetValue3")}
break;
default:
break;
}
型
有没有办法做到以下几点:
endpoint = $"{Environment.GetEnvironmentVariable("type")}
型
在配置中有某种枚举,它将区分是否是客户端1,然后给予正确的配置值,而不是在代码中做?
1条答案
按热度按时间4xrmg8kj1#
所以如果我对这个问题的理解是正确的,你需要的是从“键到值”的Map,转换为C#Dictionary。你唯一需要的部分是在你的配置中添加/更改这些值。
在这个例子中,看起来你需要2个Map(2个字典):
字符串