public void ExecuteSync(DBConnectionNames connNames, string lockName, Action callBack, int timeout = -1) { using (DBTransactionScope transactionScope = new DBTransactionScope(TransactionScopeOption.Required, new TransactionOptions() { IsolationLevel = IsolationLevel.ReadCommitted, Timeout = new TimeSpan(0, 30, 0) })) { try { _applicationLockStore.LockSync(connNames, lockName, timeout); callBack(); } finally { _applicationLockStore.UnLockSync(connNames, lockName); } transactionScope.Complete(); } }