Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ InternalDispose()

void System.Transactions.TransactionScope.InternalDispose ( )
inlineprivate

Definition at line 489 of file TransactionScope.cs.

490 {
491 _disposed = true;
492 try
493 {
494 PopScope();
495 TransactionsEtwProvider log = TransactionsEtwProvider.Log;
496 if (null == _expectedCurrent)
497 {
498 if (log.IsEnabled())
499 {
500 log.TransactionScopeDisposed(TransactionTraceIdentifier.Empty);
501 }
502 }
503 else if (log.IsEnabled())
504 {
505 log.TransactionScopeDisposed(_expectedCurrent.TransactionTraceId);
506 }
507 if (!(null != _expectedCurrent))
508 {
509 return;
510 }
511 if (!_complete)
512 {
513 if (log.IsEnabled())
514 {
515 log.TransactionScopeIncomplete(_expectedCurrent.TransactionTraceId);
516 }
517 Transaction transaction = _committableTransaction;
518 if (transaction == null)
519 {
520 transaction = _dependentTransaction;
521 }
522 transaction.Rollback();
523 }
524 else if (null != _committableTransaction)
525 {
527 }
528 else
529 {
531 }
532 }
533 finally
534 {
535 if (_scopeTimer != null)
536 {
538 }
539 if (null != _committableTransaction)
540 {
543 }
544 if (null != _dependentTransaction)
545 {
547 }
548 }
549 }
bool Dispose(WaitHandle notifyObject)
Definition Timer.cs:176
CommittableTransaction _committableTransaction
TransactionTraceIdentifier TransactionTraceId

References System.Transactions.TransactionScope._committableTransaction, System.Transactions.TransactionScope._complete, System.Transactions.TransactionScope._dependentTransaction, System.Transactions.TransactionScope._disposed, System.Transactions.TransactionScope._expectedCurrent, System.Transactions.TransactionScope._scopeTimer, System.Transactions.CommittableTransaction.Commit(), System.Transactions.DependentTransaction.Complete(), System.Transactions.Transaction.Dispose(), System.Threading.Timer.Dispose(), System.Transactions.TransactionTraceIdentifier.Empty, System.Diagnostics.Tracing.EventSource.IsEnabled(), System.Transactions.TransactionsEtwProvider.Log, System.Transactions.TransactionScope.PopScope(), System.Transactions.Transaction.Rollback(), System.Transactions.TransactionsEtwProvider.TransactionScopeDisposed(), System.Transactions.TransactionsEtwProvider.TransactionScopeIncomplete(), and System.Transactions.Transaction.TransactionTraceId.

Referenced by System.Transactions.TransactionScope.Dispose().