private void DoResumeSynchronization(List <ITransactionSynchronization> suspendedSynchronizations) { TransactionSynchronizationManager.InitSynchronization(); foreach (var synchronization in suspendedSynchronizations) { synchronization.Resume(); TransactionSynchronizationManager.RegisterSynchronization(synchronization); } }
protected virtual void PrepareSynchronization(DefaultTransactionStatus status, ITransactionDefinition definition) { if (status.IsNewSynchronization) { TransactionSynchronizationManager.SetActualTransactionActive(status.HasTransaction); TransactionSynchronizationManager.SetCurrentTransactionIsolationLevel(definition.IsolationLevel != AbstractTransactionDefinition.ISOLATION_DEFAULT ? definition.IsolationLevel : (int?)null); TransactionSynchronizationManager.SetCurrentTransactionReadOnly(definition.IsReadOnly); TransactionSynchronizationManager.SetCurrentTransactionName(definition.Name); TransactionSynchronizationManager.InitSynchronization(); } }