コード例 #1
0
 public void ExecuteInLock(string lockKey, Action action)
 {
     using (var redisLock = RedisLock.Acquire(_redisDatabase, GetRedisKey(lockKey), _timeOutTimeSpan, _holdDurationTimeSpan))
     {
         action();
     }
 }
コード例 #2
0
        public async Task ExecuteInLockAsync(string lockKey, Func <object, Task <object> > action, object state)
        {
            var redisLock = await RedisLock.AcquireAsync(_redisDatabase, GetRedisKey(lockKey), _timeOutTimeSpan, _holdDurationTimeSpan);

            try
            {
                await action(state);
            }
            finally
            {
                await redisLock.DisposeAsync();
            }
        }
コード例 #3
0
        public async Task ExecuteInLockAsync(string lockKey, Action action)
        {
            var redisLock = await RedisLock.AcquireAsync(_redisDatabase, GetRedisKey(lockKey), _timeOutTimeSpan, _holdDurationTimeSpan);

            try
            {
                action();
            }
            finally
            {
                await redisLock.DisposeAsync();
            }
        }