public bool AquireLock() { bool result = true; _lockService = IoC.Container.Resolve <ILockService>(); //new LockService(_connectionString); foreach (string lockID in _lockKeys) { bool firstPass = _lockService.AquireLock(lockID); if (!firstPass) { System.Threading.Thread.Sleep(500 * (ThreadNumber + 1)); result = result && _lockService.AquireLock(lockID); if (!result) { _lockService.ReleaseAllLocks(); break; } } else { result = result && firstPass; } } return(result); }