我在弄清楚如何配置应用程序以使用.NET Core 3.0 Preview在Program.cs文件中使用Key Vault时遇到麻烦。我发现的所有示例都与Web Host Builder一起使用,但是在3.0中已被Generic Host Builder取代。
这是我使用Web Host Builder找到的示例代码:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((ctx, builder) =>
{
var azureServiceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(
new KeyVaultClient.AuthenticationCallback(
azureServiceTokenProvider.KeyVaultTokenCallback));
builder.AddAzureKeyVault(
"myendpoint", keyVaultClient, new DefaultKeyVaultSecretManager());
}
).UseStartup<Startup>()
.Build();
这是我到目前为止所拥有的:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
var azureServiceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(
new KeyVaultClient.AuthenticationCallback(
azureServiceTokenProvider.KeyVaultTokenCallback));
});
正是这一行我无法弄清楚如何正确实现:
builder.AddAzureKeyVault("myendpoint", keyVaultClient, new DefaultKeyVaultSecretManager());
任何帮助/提示/建议/任何事情都将不胜感激!
答案 0 :(得分:0)
.net core 3.0处于预览状态,该不稳定并具有完善的功能。
.NET Core 3已于2019年5月7日在Microsoft Build上宣布。当前可以使用预览版本。计划于2019年9月正式发布。您可以等待发布版本或提供反馈。
答案 1 :(得分:0)
使用下面的代码让它起作用!
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
}).ConfigureAppConfiguration((ctx, builder) =>
{
var azureServiceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(
new KeyVaultClient.AuthenticationCallback(
azureServiceTokenProvider.KeyVaultTokenCallback));
builder.AddAzureKeyVault("myendpoint", keyVaultClient, new DefaultKeyVaultSecretManager());
});
}