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

◆ GetTransactionFromTransmitterPropagationToken()

static Transaction System.Transactions.TransactionInterop.GetTransactionFromTransmitterPropagationToken ( byte[] propagationToken)
inlinestatic

Definition at line 114 of file TransactionInterop.cs.

115 {
116 if (propagationToken == null)
117 {
118 throw new ArgumentNullException("propagationToken");
119 }
120 if (propagationToken.Length < 24)
121 {
122 throw new ArgumentException(System.SR.InvalidArgument, "propagationToken");
123 }
124 TransactionsEtwProvider log = TransactionsEtwProvider.Log;
125 if (log.IsEnabled())
126 {
127 log.MethodEnter(TraceSourceType.TraceSourceDistributed, "TransactionInterop.GetTransactionFromTransmitterPropagationToken");
128 }
129 Guid transactionIdentifier = new Guid(propagationToken.AsSpan(8, 16));
130 Transaction transaction = TransactionManager.FindPromotedTransaction(transactionIdentifier);
131 if (null != transaction)
132 {
133 if (log.IsEnabled())
134 {
135 log.MethodExit(TraceSourceType.TraceSourceDistributed, "TransactionInterop.GetTransactionFromTransmitterPropagationToken");
136 }
137 return transaction;
138 }
139 DistributedTransaction distributedTransactionFromTransmitterPropagationToken = GetDistributedTransactionFromTransmitterPropagationToken(propagationToken);
140 Transaction result = TransactionManager.FindOrCreatePromotedTransaction(transactionIdentifier, distributedTransactionFromTransmitterPropagationToken);
141 if (log.IsEnabled())
142 {
143 log.MethodExit(TraceSourceType.TraceSourceDistributed, "TransactionInterop.GetTransactionFromTransmitterPropagationToken");
144 }
145 return result;
146 }
static string InvalidArgument
Definition SR.cs:34
Definition SR.cs:7
static DistributedTransaction GetDistributedTransactionFromTransmitterPropagationToken(byte[] propagationToken)

References System.Transactions.TransactionManager.FindOrCreatePromotedTransaction(), System.Transactions.TransactionManager.FindPromotedTransaction(), System.Transactions.TransactionInterop.GetDistributedTransactionFromTransmitterPropagationToken(), System.SR.InvalidArgument, System.Diagnostics.Tracing.EventSource.IsEnabled(), System.Transactions.TransactionsEtwProvider.Log, System.Transactions.TransactionsEtwProvider.MethodEnter(), and System.Transactions.TransactionsEtwProvider.MethodExit().