Azure App Configuration 到强类型配置对象
Azure App Configuration to strongly-typed configuration objects
我一直在玩 Azure App Configuration。
这是一个配置示例:
var environmentVariable = Environment.GetEnvironmentVariable("AppConfigurationConnectionString");
var config =
new ConfigurationBuilder()
.AddAzureAppConfiguration(options =>
{
options.Connect(environmentVariable)
.ConfigureKeyVault(kv =>
{
kv.SetCredential(new DefaultAzureCredential());
});
})
.Build();
services.AddSingleton<IConfiguration>(config);
在此之后,我可以将一个 IConfiguration
实例注入我的服务并使用 _config["settingName"]
访问配置设置。这一切都很好,真的很不错。
我不知道该怎么做的一件事是将相关设置组映射到强类型对象(也就是说,无需全部手动完成,我 可以 可以,但是...希望有更好的方法)。
在传统的ASP.NET核心配置中,我可以将相关设置分组如下(即在appsettings.json
中)
{
"test": {
"key1": "value1",
"key2": "value2"
}
}
使用 IOptions 模式如下:
services.Configure<Test>(config.GetSection("test"));
这允许我将强类型 IOptions<Test>
实例注入到我的 类 中。在我看来,这比大型平面索引器要好一些,我在其中使用 _config["key1"]
来获取配置设置。
Azure App Configruation 是否有一种方法允许我自动配置可以注入到我的 类 中的强类型配置对象?
TIA
.NET Core 在将 appsettings.json 中的对象导入 IConfiguration 时将其展平。比如你的test对象在IConfiguration
中变成下面两个key
_config["test:key1"]
_config["test:key2"]
这意味着您可以通过以这种扁平化方式存储设置来准确地使用 Azure 应用程序配置完成您想要的。 Azure 门户中的 Azure 应用程序配置 UI 有一个导入实用程序,可让您导入 appsettings.json 文件,它会为您执行此导入操作。
以下是正在使用的导入实用程序的示例:
在 Azure 应用程序配置中拥有扁平化对象后,您拥有的确切代码将起作用。
我一直在玩 Azure App Configuration。
这是一个配置示例:
var environmentVariable = Environment.GetEnvironmentVariable("AppConfigurationConnectionString");
var config =
new ConfigurationBuilder()
.AddAzureAppConfiguration(options =>
{
options.Connect(environmentVariable)
.ConfigureKeyVault(kv =>
{
kv.SetCredential(new DefaultAzureCredential());
});
})
.Build();
services.AddSingleton<IConfiguration>(config);
在此之后,我可以将一个 IConfiguration
实例注入我的服务并使用 _config["settingName"]
访问配置设置。这一切都很好,真的很不错。
我不知道该怎么做的一件事是将相关设置组映射到强类型对象(也就是说,无需全部手动完成,我 可以 可以,但是...希望有更好的方法)。
在传统的ASP.NET核心配置中,我可以将相关设置分组如下(即在appsettings.json
中)
{
"test": {
"key1": "value1",
"key2": "value2"
}
}
使用 IOptions 模式如下:
services.Configure<Test>(config.GetSection("test"));
这允许我将强类型 IOptions<Test>
实例注入到我的 类 中。在我看来,这比大型平面索引器要好一些,我在其中使用 _config["key1"]
来获取配置设置。
Azure App Configruation 是否有一种方法允许我自动配置可以注入到我的 类 中的强类型配置对象?
TIA
.NET Core 在将 appsettings.json 中的对象导入 IConfiguration 时将其展平。比如你的test对象在IConfiguration
中变成下面两个key_config["test:key1"]
_config["test:key2"]
这意味着您可以通过以这种扁平化方式存储设置来准确地使用 Azure 应用程序配置完成您想要的。 Azure 门户中的 Azure 应用程序配置 UI 有一个导入实用程序,可让您导入 appsettings.json 文件,它会为您执行此导入操作。
以下是正在使用的导入实用程序的示例:
在 Azure 应用程序配置中拥有扁平化对象后,您拥有的确切代码将起作用。