AddAzureKeyVault вводит задержку во время запуска приложения dotnet core, минимум 15 секундную задержку - PullRequest
1 голос
/ 03 мая 2019

мое приложение - простое приложение dotnetcore, на CreateWebHostBuilder я добавил AddAzureKeyVault с URL, клиентом и секретом,

после перехода из appsettings.json в AddAzureKeyVault я заметил минимальную 15-секундную задержку при загрузке приложения

застрял на ней уже неделю и не смог сократить задержку,

спасибо заранее (отчаянно нуждаюсь в решении)

public static IWebHostBuilder CreateWebHostBuilder(string[] args) {
 var app = WebHost.CreateDefaultBuilder(args)
  .ConfigureAppConfiguration((context, builder) => {


   builder.AddAzureKeyVault($ "https://{azureVault}.vault.azure.net/", azureClientId, azureClientSecret);
   var watch = System.Diagnostics.Stopwatch.StartNew();
   config = builder.Build();
   watch.Stop();

  })
  .UseStartup < Startup > ();

 return app;
}

1 Ответ

0 голосов
/ 06 мая 2019

Прежде всего, исходя из описания вашего вопроса, я предполагаю, что ваше веб-приложение не имеет «Включить всегда».

By default, web apps are unloaded if they are idle for some period of time. This lets the system conserve resources. In Basic or Standard mode, you can enable Always On to keep the app loaded all the time.

Во-вторых, доступ к Key Vault должен вызываться из асинхронной задачи, поскольку в операции добавления может возникнуть задержка.

private async Task<string> GetKeyVaultSecretValue(varSecretParms) {

попробуйте что-то подобное и посмотрите, непомогает.

...