如何在ConfigureServices中获取FeatureManager?

问题描述 投票:0回答:1

ASP.NET Core 3 Web 服务器。 应用程序设置.json “功能管理”:{ “路线策略”:假 },

我想在函数中获取配置并添加路由。 这里如何获取FeatureManager来分析哪些功能IsEnabled?

public void ConfigureServices(IServiceCollection services)
        {
            services.AddFeatureManagement();
            services.AddRazorPages();
            services.AddServerSideBlazor();
            services.AddSingleton<WeatherForecastService>();

            // <---------???
            //
asp.net-core blazor-server-side
1个回答
0
投票

如果我理解正确的话,您要问的是如何在不依赖注入的情况下创建

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");
© www.soinside.com 2019 - 2024. All rights reserved.