ASP.NET Core 3 Web 服务器。 应用程序设置.json “功能管理”:{ “路线策略”:假 },
我想在函数中获取配置并添加路由。 这里如何获取FeatureManager来分析哪些功能IsEnabled?
public void ConfigureServices(IServiceCollection services)
{
services.AddFeatureManagement();
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddSingleton<WeatherForecastService>();
// <---------???
//
如果我理解正确的话,您要问的是如何在不依赖注入的情况下创建
FeatureManager
。
在您提出问题时这是不可能的,但自 v3.1.0 以来现在可以实现:https://github.com/microsoft/FeatureManagement-Dotnet/releases/tag/3.1.0
您只需阅读您的配置,然后就可以使用
ConfigurationFeatureDefinitionProvider
和 FeatureManager
。
IConfiguration configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();
var featureDefintionProvider = new ConfigurationFeatureDefinitionProvider(configuration);
var featureManager = new FeatureManager(featureDefintionProvider)();
bool isRouteStrategyEnabled = await featureManager.IsEnabledAsync("RouteStrategy");