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

◆ EnlistDurable() [1/2]

override Enlistment System.Transactions.TransactionStatePromotedBase.EnlistDurable ( InternalTransaction tx,
Guid resourceManagerIdentifier,
IEnlistmentNotification enlistmentNotification,
EnlistmentOptions enlistmentOptions,
Transaction atomicTransaction )
inlinepackagevirtualinherited

Reimplemented from System.Transactions.TransactionState.

Definition at line 45 of file TransactionStatePromotedBase.cs.

46 {
47 tx.ThrowIfPromoterTypeIsNotMSDTC();
48 Monitor.Exit(tx);
49 try
50 {
51 Enlistment enlistment = new Enlistment(resourceManagerIdentifier, tx, enlistmentNotification, null, atomicTransaction);
52 EnlistmentState.EnlistmentStatePromoted.EnterState(enlistment.InternalEnlistment);
53 enlistment.InternalEnlistment.PromotedEnlistment = tx.PromotedTransaction.EnlistDurable(resourceManagerIdentifier, (DurableInternalEnlistment)enlistment.InternalEnlistment, v: false, enlistmentOptions);
54 return enlistment;
55 }
56 finally
57 {
58 Monitor.Enter(tx);
59 }
60 }
static void Exit(object obj)
static void Enter(object obj)

References System.Transactions.Distributed.DistributedTransaction.EnlistDurable(), System.Transactions.EnlistmentState.EnlistmentStatePromoted, System.Threading.Monitor.Enter(), System.Threading.Monitor.Exit(), System.Transactions.Enlistment.InternalEnlistment, System.Transactions.InternalTransaction.PromotedTransaction, and System.Transactions.InternalTransaction.ThrowIfPromoterTypeIsNotMSDTC().