将Key Vault设置绑定到课程

时间:2019-03-16 20:12:12

标签: asp.net-core azure-keyvault

在ASP.NET Core中,如果从JSON app.settings文件中读取配置,我可以将部分绑定到这样的对象上:

services.Configure<MyPocoConfig>(Configuration.GetSection("Section"))

是否有直接的方法来执行从Azure Key Vault读取的一组设置?我正在按照https://docs.microsoft.com/en-us/azure/key-vault/vs-key-vault-add-connected-service#access-your-secrets-in-code

上MSDN文档中所述的指南进行操作

我可以这样手动映射它们:

services.Configure<MyPocoConfig>(myPoco =>
                {
                    myPoco.Option1 = Configuration["Option1"];
                    myPoco.Option2 = Configuration["Option2"];
                });

我只是想知道是否有一种方法可以自动映射它们,因为它适用于app.settings JSON中存储的配置。我确定可以通过反射来完成,但是我希望会有一种内置的方式。

我尝试使用本文中介绍的类别设置语法将设置放入类别,并使用services.Configure<MyPocoConfig>(Configuration.GetSection("category"))进行阅读,但这不起作用。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式为您的Secret命名来实现相同的目的。

 Section--Option1
 Section--Option2

您可以使用以下内容按部分获取值,.NetCore会自动将其映射。

services.Configure<MyPocoConfig>(Configuration.GetSection("Section"))

引用链接https://docs.microsoft.com/en-us/aspnet/core/security/key-vault-configuration?view=aspnetcore-2.2#bind-an-array-to-a-class