コード例 #1
0
 public RedisClientFactory(
     IRedisClientsManager redisClientsManager,
     IRedisClientsManagerAsync redisClientsManagerAsync)
 {
     _manager      = redisClientsManager;
     _managerAsync = redisClientsManagerAsync;
 }
コード例 #2
0
 public WeatherForecastController(
     ILogger <WeatherForecastController> logger,
     IConfiguration configuration,
     IRedbox redbox,
     IRedisClientsManagerAsync redisClientsManager)
 {
     _logger     = logger;
     _connString = configuration.GetConnectionString("DefaultConnection");
     _redbox     = redbox;
     _redisMng   = redisClientsManager;
 }
コード例 #3
0
        public async Task Does_block_ReadWrite_clients_pool()
        {
            await using IRedisClientsManagerAsync manager = CreateAndStartManager();
            var delay   = TimeSpan.FromSeconds(1);
            var client1 = await manager.GetClientAsync();

            var client2 = await manager.GetClientAsync();

            var client3 = await manager.GetClientAsync();

            var client4 = await manager.GetClientAsync();

#pragma warning disable IDE0039 // Use local function
            Action func = async delegate
#pragma warning restore IDE0039 // Use local function
            {
                await Task.Delay(delay + TimeSpan.FromSeconds(0.5));

                await client4.DisposeAsync();
            };

#if NETCORE
            _ = Task.Run(func);
#else
            func.BeginInvoke(null, null);
#endif

            var start = DateTime.Now;

            var client5 = await manager.GetClientAsync();

            Assert.That(DateTime.Now - start, Is.GreaterThanOrEqualTo(delay));

            AssertClientHasHost(client1, testReadWriteHosts[0]);
            AssertClientHasHost(client2, testReadWriteHosts[1]);
            AssertClientHasHost(client3, testReadWriteHosts[2]);
            AssertClientHasHost(client4, testReadWriteHosts[3]);
            AssertClientHasHost(client5, testReadWriteHosts[3]);
        }
コード例 #4
0
 public TokenRedisStorageProvider(IRedisClientsManagerAsync redisClientsManager)
 {
     _redisClientsManager = redisClientsManager ?? throw new ArgumentNullException(nameof(redisClientsManager));
 }