예제 #1
0
        /// <summary>
        /// Create an instance of ConfigCatClient and setup ManualPoll mode
        /// </summary>
        /// <param name="configuration">Configuration for LazyLoading mode</param>
        /// <exception cref="ArgumentException">When the configuration contains any invalid property</exception>
        /// <exception cref="ArgumentNullException">When the configuration is null</exception>
        public ConfigCatClient(ManualPollConfiguration configuration)
            : this((ConfigurationBase)configuration)
        {
            var configService = new ManualPollConfigService(
                new HttpConfigFetcher(configuration.CreateUri(), "m-" + version, configuration.Logger, configuration.HttpClientHandler, this.configDeserializer, configuration.IsCustomBaseUrl),
                this.cacheParameters,
                configuration.Logger);

            this.configService = configService;
        }
예제 #2
0
        protected virtual void ConfigureFeatureFlags(IServiceCollection services)
        {
            var clientConfiguration = new ManualPollConfiguration()
            {
                ApiKey = Configuration.GetSection("ConfigCat")["ApiKey"]
            };

            var configCatClient = new ConfigCatClient(clientConfiguration);

            services.AddSingleton <IConfigCatClient>(configCatClient);
            services.AddFeatureManagement(new ConfigCatConfiguration(configCatClient, null));
        }
예제 #3
0
        /// <summary>
        /// Create an instance of BetterConfigClient and setup ManualPoll mode
        /// </summary>
        /// <param name="configuration">Configuration for LazyLoading mode</param>
        /// <exception cref="ArgumentException">When the configuration contains any invalid property</exception>
        /// <exception cref="ArgumentNullException">When the configuration is null</exception>
        public BetterConfigClient(ManualPollConfiguration configuration)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            configuration.Validate();

            InitializeClient(configuration);

            var configService = new ManualPollConfigService(
                new HttpConfigFetcher(configuration.Url, "m-" + version, configuration.LoggerFactory),
                new InMemoryConfigCache(),
                configuration.LoggerFactory);

            this.configService = configService;
        }
예제 #4
0
        public MainViewModel()
        {
            ToggleA = false;
            ToggleB = false;

            VerificarCommand = new Command(ExecuteVerificarCommand);
            AutoCommand      = new Command(ExecuteAutoCommand);
            ManualCommand    = new Command(ExecuteManualCommand);
            LazyCommand      = new Command(ExecuteLazyCommand);


            //Verificar Toggle A
            client_verificar = new ConfigCatClient(Session.ApiKey);


            //Verificar Toggle B - Auto Pooling
            AutoPollConfiguration autoConfiguration = new AutoPollConfiguration
            {
                ApiKey = Session.ApiKey,
                PollIntervalSeconds = 20
            };

            client_auto = new ConfigCatClient(autoConfiguration);


            //Verificar Toggle B - Manual Pooling
            ManualPollConfiguration manualConfiguration = new ManualPollConfiguration
            {
                ApiKey = Session.ApiKey
            };

            client_manual = new ConfigCatClient(manualConfiguration);


            //Verificar Toggle B - Lazy Pooling
            LazyLoadConfiguration lazyConfiguration = new LazyLoadConfiguration
            {
                ApiKey = Session.ApiKey,
                CacheTimeToLiveSeconds = 40
            };

            client_lazy = new ConfigCatClient(lazyConfiguration);
        }
예제 #5
0
        public void CreateAnInstance_WhenManualPollConfigurationIsNull_ShouldThrowArgumentNullException()
        {
            ManualPollConfiguration clientConfiguration = null;

            new ConfigCatClient(clientConfiguration);
        }