Esempio n. 1
0
        public Cluster(string connectionStr, string username, string password)
        {
            var connectionString = ConnectionString.Parse(connectionStr);

            _configuration = new Configuration()
                             .WithServers(connectionString.Hosts.ToArray())
                             .WithCredentials(username, password);

            if (!_configuration.Buckets.Any())
            {
                _configuration = _configuration.WithBucket("default");
            }

            if (!_configuration.Servers.Any())
            {
                _configuration = _configuration.WithServers("couchbase://localhost");
            }
            _configContext = new ConfigContext(_configuration);
            _configContext.Start(_configTokenSource);

            if (_configuration.EnableConfigPolling)
            {
                _configContext.Poll(_configTokenSource.Token);
            }
        }
Esempio n. 2
0
        public Cluster(Configuration configuration)
        {
            if (configuration == null)
            {
                throw new InvalidConfigurationException("Configuration is null.");
            }

            if (string.IsNullOrWhiteSpace(configuration.Password) || string.IsNullOrWhiteSpace(configuration.UserName))
            {
                throw new InvalidConfigurationException("Username and password are required.");
            }

            _configTokenSource = new CancellationTokenSource();
            _configuration     = configuration;
            _configContext     = new ConfigContext(_configuration);
            _configContext.Start(_configTokenSource);
            if (_configuration.EnableConfigPolling)
            {
                _configContext.Poll(_configTokenSource.Token);
            }

            _lazyQueryClient     = new Lazy <IQueryClient>(() => new QueryClient(_configuration));
            _lazyAnalyticsClient = new Lazy <IAnalyticsClient>(() => new AnalyticsClient(_configuration));
            _lazySearchClient    = new Lazy <ISearchClient>(() => new SearchClient(_configuration));
            _lazyQueryManager    = new Lazy <IQueryIndexes>(() => new QueryIndexes(_lazyQueryClient.Value));
            _lazyBucketManager   = new Lazy <IBucketManager>(() => new BucketManager(_configuration));
            _lazyUserManager     = new Lazy <IUserManager>(() => new UserManager(_configuration));
        }
Esempio n. 3
0
        public Cluster(string connectionStr, string username, string password)
        {
            var connectionString = ConnectionString.Parse(connectionStr);

            _configuration = new Configuration()
                             .WithServers(connectionString.Hosts.ToArray())
                             .WithCredentials(username, password);

            if (!_configuration.Servers.Any())
            {
                _configuration = _configuration.WithServers("couchbase://localhost");
            }
            _configContext = new ConfigContext(_configuration);
            _configContext.Start(_configTokenSource);

            if (_configuration.EnableConfigPolling)
            {
                _configContext.Poll(_configTokenSource.Token);
            }

            _lazyQueryClient     = new Lazy <IQueryClient>(() => new QueryClient(_configuration));
            _lazyAnalyticsClient = new Lazy <IAnalyticsClient>(() => new AnalyticsClient(_configuration));
            _lazySearchClient    = new Lazy <ISearchClient>(() => new SearchClient(_configuration));
            _lazyQueryManager    = new Lazy <IQueryIndexes>(() => new QueryIndexes(_lazyQueryClient.Value));
            _lazyBucketManager   = new Lazy <IBucketManager>(() => new BucketManager(_configuration));
            _lazyUserManager     = new Lazy <IUserManager>(() => new UserManager(_configuration));
        }
Esempio n. 4
0
        public Cluster(string connectionString, ClusterOptions clusterOptions)
        {
            if (string.IsNullOrWhiteSpace(connectionString))
            {
                throw new InvalidConfigurationException("The connectionString cannot be null, empty or only be whitesapce.");
            }
            if (clusterOptions == null)
            {
                throw new InvalidConfigurationException("ClusterOptions is null.");
            }
            if (string.IsNullOrWhiteSpace(clusterOptions.Password) || string.IsNullOrWhiteSpace(clusterOptions.UserName))
            {
                throw new InvalidConfigurationException("Username and password are required.");
            }

            //TODO make connectionString function per the RFC: https://github.com/couchbaselabs/sdk-rfcs/blob/master/rfc/0011-connection-string.md
            clusterOptions.WithServers(connectionString);

            _configTokenSource = new CancellationTokenSource();
            _clusterOptions    = clusterOptions;
            _couchbaseContext  = new ConfigContext(_clusterOptions);
            _couchbaseContext.Start(_configTokenSource);
            if (_clusterOptions.EnableConfigPolling)
            {
                _couchbaseContext.Poll(_configTokenSource.Token);
            }

            _lazyQueryClient     = new Lazy <IQueryClient>(() => new QueryClient(_clusterOptions));
            _lazyAnalyticsClient = new Lazy <IAnalyticsClient>(() => new AnalyticsClient(_clusterOptions));
            _lazySearchClient    = new Lazy <ISearchClient>(() => new SearchClient(_clusterOptions));
            _lazyQueryManager    = new Lazy <IQueryIndexes>(() => new QueryIndexes(_lazyQueryClient.Value));
            _lazyBucketManager   = new Lazy <IBucketManager>(() => new BucketManager(_clusterOptions));
            _lazyUserManager     = new Lazy <IUserManager>(() => new UserManager(_clusterOptions));
        }
Esempio n. 5
0
        public Cluster(Configuration configuration)
        {
            if (configuration == null)
            {
                throw new InvalidConfigurationException("Configuration is null.");
            }

            if (string.IsNullOrWhiteSpace(configuration.Password) || string.IsNullOrWhiteSpace(configuration.UserName))
            {
                throw new InvalidConfigurationException("Username and password are required.");
            }

            _configTokenSource = new CancellationTokenSource();
            _configuration     = configuration;
            _configContext     = new ConfigContext(_configuration);
            _configContext.Start(_configTokenSource);
            _configContext.Poll(_configTokenSource.Token);
        }