Пример #1
0
        public static void AddFeatureFlags(this IServiceCollection services, Action <FeatureFlagsConfig> config)
        {
            var theConfig = new FeatureFlagsConfig();

            config(theConfig);

            if (theConfig.BootstrapConfigurationSection != null)
            {
                var dstore = (IDynamicFeatureStore)theConfig.Store;
                dstore.BootstrapFromConfig(theConfig.BootstrapConfigurationSection);
            }

            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            services.AddSingleton <IFeatureStore>(theConfig.Store);
            services.AddSingleton <IFeatures, Features>();

            foreach (var additionnalAccessor in theConfig.AdditionnalAccessors)
            {
                services.AddSingleton(additionnalAccessor.Key, additionnalAccessor.Value);
            }
        }
Пример #2
0
 public static FeatureFlagsConfig AddAccessor <T>(this FeatureFlagsConfig config) where T : class
 {
     config.AdditionnalAccessors.Add(typeof(T), FeatureFlagAccessor.Build <T>());
     return(config);
 }
Пример #3
0
 public static FeatureFlagsConfig BootstrapFromConfig(this FeatureFlagsConfig config, IConfigurationSection section)
 {
     config.BootstrapConfigurationSection = section;
     return(config);
 }