public void TryGetConnection_ConnectionSharing() { Utility.SetConfigUtilityToDefault(); RedisSharedConnection redisSharedConnection = new RedisSharedConnection(RedisSessionStateProvider.configuration, () => new FakeRedisClientConnection()); IRedisClientConnection connection = redisSharedConnection.TryGetConnection(); IRedisClientConnection connection2 = redisSharedConnection.TryGetConnection(); Assert.Equal(connection, connection2); }
public void TryGetConnection_CreateNewConnection() { Utility.SetConfigUtilityToDefault(); RedisSharedConnection redisSharedConnection = new RedisSharedConnection(RedisSessionStateProvider.configuration, () => new FakeRedisClientConnection()); Assert.Null(redisSharedConnection.connection); IRedisClientConnection connection = redisSharedConnection.TryGetConnection(); Assert.NotNull(connection); Assert.NotNull(redisSharedConnection.connection); }
public RedisOutputCacheConnectionWrapper(ProviderConfiguration configuration) { this.configuration = configuration; // only single object of RedisSharedConnection will be created and then reused if (sharedConnection == null) { lock (lockForSharedConnection) { if (sharedConnection == null) { sharedConnection = new RedisSharedConnection(configuration); redisUtility = new RedisUtility(configuration); } } } redisConnection = new StackExchangeClientConnection(configuration, redisUtility, sharedConnection); }
public RedisOutputCacheConnectionWrapper(ProviderConfiguration configuration) { this.configuration = configuration; // Shared connection is created by server when it starts. don't want to lock everytime when check == null. // so that is why pool == null exists twice. if (sharedConnection == null) { lock (lockForSharedConnection) { if (sharedConnection == null) { sharedConnection = new RedisSharedConnection(configuration, () => new StackExchangeClientConnection(configuration)); } } } redisConnection = sharedConnection.TryGetConnection(); }
public RedisOutputCacheConnectionWrapper(ProviderConfiguration configuration) { this.configuration = configuration; // Shared connection is created by server when it starts. don't want to lock everytime when check == null. // so that is why pool == null exists twice. if (sharedConnection == null) { lock (lockForSharedConnection) { if (sharedConnection == null) { sharedConnection = new RedisSharedConnection(configuration,() => new StackExchangeClientConnection(configuration)); } } } redisConnection = sharedConnection.TryGetConnection(); }
public RedisConnectionWrapper(ProviderConfiguration configuration, string id) { this.configuration = configuration; Keys = new KeyGenerator(id, configuration.ApplicationName); // only single object of RedisSharedConnection will be created and then reused if (sharedConnection == null) { lock (lockForSharedConnection) { if (sharedConnection == null) { sharedConnection = new RedisSharedConnection(configuration); redisUtility = new RedisUtility(configuration); } } } redisConnection = new StackExchangeClientConnection(configuration, redisUtility, sharedConnection); }
public RedisConnectionWrapper(ProviderConfiguration configuration, string id) { this.configuration = configuration; Keys = new KeyGenerator(id, configuration.ApplicationName); // Pool is created by server when it starts. don't want to lock everytime when check pool == null. // so that is why pool == null exists twice. if (sharedConnection == null) { lock (lockForSharedConnection) { if (sharedConnection == null) { sharedConnection = new RedisSharedConnection(configuration, () => new StackExchangeClientConnection(configuration)); } } } redisConnection = sharedConnection.TryGetConnection(); }
public RedisConnectionWrapper(ProviderConfiguration configuration, string id) { this.configuration = configuration; Keys = new KeyGenerator(id, configuration.ApplicationName); // Pool is created by server when it starts. don't want to lock everytime when check pool == null. // so that is why pool == null exists twice. if (sharedConnection == null) { lock (lockForSharedConnection) { if (sharedConnection == null) { sharedConnection = new RedisSharedConnection(configuration,() => new StackExchangeClientConnection(configuration)); } } } redisConnection = sharedConnection.TryGetConnection(); }
public RedisObjectCacheConnectionWrapper(ProviderConfiguration configuration, string name) { this.configuration = configuration; // Shared connection is created by server when it starts. don't want to lock everytime when check == null. // so that is why pool == null exists twice. if (!sharedConnections.ContainsKey(name)) { lock (lockForSharedConnection) { if (!sharedConnections.ContainsKey(name)) { sharedConnections[name] = new RedisSharedConnection(configuration, () => new StackExchangeClientConnection(configuration)); redisUtility = new RedisUtility(configuration); } } } redisConnection = sharedConnections[name].TryGetConnection(); }
public IRedisClientConnection TryGetConnection() { if (connection != null) { //case 1: already available connection return(connection); } else { //case 2: we are allowed to create first connection lock (lockObject) { // make sure it is not created by other request in between if (connection == null) { connection = factory.Invoke(); connection.Open(); } } return(connection); } }
public IRedisClientConnection TryGetConnection() { if (connection != null) { //case 1: already available connection return connection; } else { //case 2: we are allowed to create first connection lock (lockObject) { // make suer it is not created by other request in between if (connection == null) { connection = factory.Invoke(); connection.Open(); } } return connection; } }