示例#1
0
        private ConfigParams ComposeSettings()
        {
            var maxPoolSize              = _options.GetAsNullableInteger("max_pool_size");
            var connectTimeout           = _options.GetAsNullableInteger("connect_timeout");
            var connectRetryCount        = _options.GetAsNullableInteger("connect_retry_count");
            var connectRetryInterval     = _options.GetAsNullableInteger("connect_retry_interval");
            var multipleActiveResultSets = _options.GetAsNullableBoolean("multiple_active_result_sets");

            ConfigParams settings = new ConfigParams();

            if (maxPoolSize.HasValue)
            {
                settings["Max Pool Size"] = maxPoolSize.Value.ToString();
            }
            if (connectTimeout.HasValue)
            {
                settings["Connection Timeout"] = connectTimeout.Value.ToString();
            }
            if (connectRetryCount.HasValue)
            {
                settings["ConnectRetryCount"] = connectRetryCount.Value.ToString();
            }
            if (connectRetryInterval.HasValue)
            {
                settings["ConnectRetryInterval"] = connectRetryInterval.Value.ToString();
            }
            if (multipleActiveResultSets.HasValue)
            {
                settings["MultipleActiveResultSets"] = multipleActiveResultSets.Value.ToString();
            }

            return(settings);
        }
        public virtual void Configure(ConfigParams config)
        {
            _configParams = config;

            Enabled       = config.GetAsBooleanWithDefault("parameters.enabled", true);
            TimerInterval = config.GetAsNullableInteger("parameters.timer_interval") ?? DefaultTimerInterval;
            DelayInterval = config.GetAsNullableInteger("parameters.delay_interval") ?? DefaultDelayInterval;

            MinimumThroughput = config.GetAsNullableInteger("parameters.minimum_throughput") ?? DefaultMinimumThroughput;
            MaximumThroughput = config.GetAsNullableInteger("parameters.maximum_throughput") ?? DefaultMaximumThroughput;
            GrowthRate        = config.GetAsNullableDouble("parameters.growth_rate") ?? DefaultGrowthRate;

            ResourceGroup = config.GetAsString("parameters.resource_group");
            ConnectionUri = config.GetAsString("parameters.connection_uri");
        }
示例#3
0
        public virtual void Configure(ConfigParams config)
        {
            Enabled       = config.GetAsBooleanWithDefault("parameters.enabled", true);
            TimerInterval = config.GetAsNullableInteger("parameters.timer_interval") ?? DefaultTimerInterval;
            DelayInterval = config.GetAsNullableInteger("parameters.delay_interval") ?? DefaultDelayInterval;

            MinimumThroughput = config.GetAsNullableInteger("parameters.minimum_throughput") ?? DefaultMinimumThroughput;
            MaximumThroughput = config.GetAsNullableInteger("parameters.maximum_throughput") ?? DefaultMaximumThroughput;
            GrowthRate        = config.GetAsNullableDouble("parameters.growth_rate") ?? DefaultGrowthRate;

            ResourceGroup = config.GetAsString("parameters.resource_group");
            ConnectionUri = config.GetAsString("parameters.connection_uri");

            var mongoDbConnectionUrl = new MongoUrlBuilder(ConnectionUri);

            AccountName  = mongoDbConnectionUrl.Username;
            AccessKey    = mongoDbConnectionUrl.Password;
            DatabaseName = mongoDbConnectionUrl.DatabaseName;

            _timer = new FixedRateTimer(PerformMonitorAsync, TimerInterval, DelayInterval);
        }
        private ConfigParams ComposeSettings()
        {
            var maxPoolSize    = _options.GetAsNullableInteger("max_pool_size");
            var connectTimeout = _options.GetAsNullableInteger("connect_timeout");
            var idleTimeout    = _options.GetAsNullableInteger("idle_timeout");

            ConfigParams settings = new ConfigParams();

            if (maxPoolSize.HasValue)
            {
                settings["Maximum Pool Size"] = maxPoolSize.Value.ToString();
            }
            if (connectTimeout.HasValue)
            {
                settings["Timeout"] = connectTimeout.Value.ToString();
            }
            if (idleTimeout.HasValue)
            {
                settings["Keepalive"] = idleTimeout.Value.ToString();
            }

            return(settings);
        }