public ConfigurationClientManager()

in src/Microsoft.Extensions.Configuration.AzureAppConfiguration/ConfigurationClientManager.cs [54:88]


        public ConfigurationClientManager(
            IEnumerable<string> connectionStrings,
            ConfigurationClientOptions clientOptions,
            bool replicaDiscoveryEnabled,
            bool loadBalancingEnabled)
        {
            if (connectionStrings == null || !connectionStrings.Any())
            {
                throw new ArgumentNullException(nameof(connectionStrings));
            }

            string connectionString = connectionStrings.First();
            _endpoint = new Uri(ConnectionStringUtils.Parse(connectionString, ConnectionStringUtils.EndpointSection));
            _secret = ConnectionStringUtils.Parse(connectionString, ConnectionStringUtils.SecretSection);
            _id = ConnectionStringUtils.Parse(connectionString, ConnectionStringUtils.IdSection);
            _clientOptions = clientOptions;
            _replicaDiscoveryEnabled = replicaDiscoveryEnabled;

            // If load balancing is enabled, shuffle the passed in connection strings to randomize the endpoint used on startup
            if (loadBalancingEnabled)
            {
                connectionStrings = connectionStrings.ToList().Shuffle();
            }

            _validDomain = GetValidDomain(_endpoint);
            _srvLookupClient = new SrvLookupClient();

            _clients = connectionStrings
                .Select(cs =>
                {
                    var endpoint = new Uri(ConnectionStringUtils.Parse(cs, ConnectionStringUtils.EndpointSection));
                    return new ConfigurationClientWrapper(endpoint, new ConfigurationClient(cs, _clientOptions));
                })
                .ToList();
        }