Beispiel #1
0
        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();
            }
        }