AddAzureKeyVault引入了dotnet核心应用启动期间的延迟,最小延迟为15秒

时间:2019-05-03 15:08:47

标签: azure .net-core azure-keyvault

我的应用程序是asimple dotnetcore应用程序,在CreateWebHostBuilder中,我添加了带有URL,clientid和secret的AddAzureKeyVault,

从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 :(得分:0)

首先,从您的问题描述中,我猜测您的Web应用没有“启用始终启用”功能。

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) {

尝试类似的方法,看看是否有帮助。