C# 有没有办法从Azure应用程序配置中获取所有功能及其布尔值?

C# 有没有办法从Azure应用程序配置中获取所有功能及其布尔值?,c#,.net-core,azure-app-configuration,C#,.net Core,Azure App Configuration,Using only有两种方法只允许每个请求获取一个特性。是否有办法获取所有功能及其值(真或假)?Azure AppConfiguration将其所有数据存储在配置子系统(Microsoft.Extensions.Configuration)中 通过将IConfigurationRoot注册到DI中,并将其注入服务中,然后调用其GetDebugView()*,您可以查看所有配置。此方法是在.NET Core 3.0中添加的,因此,如果您使用的是旧版本,则不会使用它。您可以始终循环查看IConfi

Using only有两种方法只允许每个请求获取一个特性。是否有办法获取所有功能及其值(真或假)?

Azure AppConfiguration将其所有数据存储在配置子系统(Microsoft.Extensions.Configuration)中

通过将
IConfigurationRoot
注册到DI中,并将其注入服务中,然后调用其
GetDebugView()
*,您可以查看所有配置。此方法是在.NET Core 3.0中添加的,因此,如果您使用的是旧版本,则不会使用它。您可以始终循环查看
IConfigurationRoot
并查看其内容


一旦您确定了感兴趣的
,就可以使用
configurationRoot[key]
从Azure AppConfiguration提取原始数据。

@Elias Rodriguez,您可以调用
FeatureManager.getFeatureNameAsync()
来获取可用功能标志的完整列表。然后,您可以对它们中的每一个调用
FeatureManager.IsEnabledAsync()
,以获取它们的真/假状态。

如果我理解正确,这只会在应用程序启动时获取它们一次,在应用程序重新启动之前不会再次获取它们。是否有办法在每次需要时从Azure App Configuration获取所有更新的配置?如果执行
IConfigurationRoot.Reload()
,它们应该会被刷新。因此,如果我有40个功能,我将执行40次调用,对吗?您只需调用一次
GetFeatureNameAsync
即可获取所有功能标志名称,并调用40次
IsEnableAsync
即可获得它们的真/假状态。请注意,在调用
IsEnabledAsync
时,功能标志状态将在应用程序的本地进行评估。在此过程中,没有对应用程序配置的网络调用。