У меня есть веб-задание Azure (.NET Core 2.2
), которое при запуске считывает пару параметров из конфигурации, например:
var builder = new HostBuilder()
.UseEnvironment(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"))
.ConfigureWebJobs()
.ConfigureAppConfiguration((hostContext, configApp) =>
{
configApp.AddEnvironmentVariables();
configApp.AddJsonFile("appsettings.json", optional: false);
})
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConsole();
var instrumentationKey = hostingContext.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
if (!string.IsNullOrEmpty(instrumentationKey))
{
Console.Writeline(instrumentationKey); // <- this always outputs key from appsettings.json, not from Azure Settings
logging.AddApplicationInsights(instrumentationKey);
}
})
.UseConsoleLifetime();
Как видите, файл appsettings.json
должен иметьКлавиша APPINSIGHTS_INSTRUMENTATIONKEY
, и она отлично читает в среде разработки.
Теперь для производства я хочу переопределить этот ключ APPINSIGHTS_INSTRUMENTATIONKEY
, добавив параметр с тем же ключом в веб-интерфейс параметров приложения Azure.
Однако, когда я развертываю свою веб-работу в Azure, в ней все еще есть ключ понимания старого приложения от appsettings.json
.Чтобы заставить мою веб-работу иметь переопределенный ключ из настроек приложения Azure, я должен удалить ключ озарения приложения из appsettings.json
.
Есть ли возможность для моей веб-работы использовать настройки приложения Azure без необходимостиудалить ключи из appsettings.json
?