/// <summary> /// Initializes a new instance of the <see cref="BucketCacheHandle{TCacheValue}"/> class. /// </summary> /// <param name="managerConfiguration">The manager configuration.</param> /// <param name="configuration">The cache handle configuration.</param> /// <param name="loggerFactory">The logger factory.</param> /// <exception cref="System.InvalidOperationException"> /// If <c>configuration.HandleName</c> is not valid. /// </exception> public BucketCacheHandle(CacheManagerConfiguration managerConfiguration, CacheHandleConfiguration configuration, ILoggerFactory loggerFactory) : base(managerConfiguration, configuration) { NotNull(configuration, nameof(configuration)); NotNull(loggerFactory, nameof(loggerFactory)); this.Logger = loggerFactory.CreateLogger(this); // we can configure the bucket name by having "<configKey>:<bucketName>" as handle's // name value var nameParts = configuration.Key.Split(new[] { ":" }, StringSplitOptions.RemoveEmptyEntries); Ensure(nameParts.Length > 0, "Handle key is not valid {0}", configuration.Key); this.configurationName = nameParts[0]; if (nameParts.Length == 2) { this.bucketName = nameParts[1]; } this.configuration = CouchbaseConfigurationManager.GetConfiguration(this.configurationName); this.bucketConfiguration = CouchbaseConfigurationManager.GetBucketConfiguration(this.configuration, this.bucketName); this.bucket = CouchbaseConfigurationManager.GetBucket(this.configuration, this.configurationName, this.bucketName); }
/// <summary> /// Initializes a new instance of the <see cref="BucketCacheHandle{TCacheValue}"/> class. /// </summary> /// <param name="manager">The manager.</param> /// <param name="configuration">The configuration.</param> /// <exception cref="System.InvalidOperationException"> /// If <c>configuration.HandleName</c> is not valid. /// </exception> public BucketCacheHandle(ICacheManager <TCacheValue> manager, CacheHandleConfiguration configuration) : base(manager, configuration) { NotNull(configuration, nameof(configuration)); // we can configure the bucket name by having "<configKey>:<bucketName>" as handle's // name value var nameParts = configuration.HandleName.Split(new[] { ":" }, StringSplitOptions.RemoveEmptyEntries); Ensure(nameParts.Length > 0, "Handle name is not valid {0}", configuration.HandleName); this.configurationName = nameParts[0]; if (nameParts.Length == 2) { this.bucketName = nameParts[1]; } this.configuration = CouchbaseConfigurationManager.GetConfiguration(this.configurationName); this.bucketConfiguration = CouchbaseConfigurationManager.GetBucketConfiguration(this.configuration, this.bucketName); this.bucket = CouchbaseConfigurationManager.GetBucket(this.configuration, this.configurationName, this.bucketName); }