我有一个.net Core 2 WebAPI项目,该项目托管在Azure中。我正在尝试加载存储在azure门户中的ApplicationSettings,以便可以将详细信息安全地保存到我的存储库中。
我检索AppSetting的代码如下:
private DocumentClient CreateDocumentClient()
{
var url = ConfigurationManager.AppSettings["DatabaseEndpoint"];
var key = ConfigurationManager.AppSettings["DatabaseKey"];
return new DocumentClient(new Uri(url), key);
}
我的理解是,我需要在配置中添加环境变量,但是我认为这在更高版本的.NET Core中已发生了变化,所有各种教程和指南都使我无所适从。
我相信我需要将其添加到V2.0中的Program.cs中,而不是启动中,因此我尝试对此进行更改:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
对此:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((WebHostBuilderContext context, IConfigurationBuilder builder) =>
{
builder.Sources.Clear();
builder.AddEnvironmentVariables();
})
.UseStartup<Startup>()
.Build();
但这似乎也不起作用(值仍然为null)。我应该补充一点,我没有appsettings.json文件,因此没有像其他许多示例所示那样包含它。
我在正确的地方吗?如何将Azure的ApplicationSettings加载到我的应用程序中?