internal override void ForceRollback(InternalEnlistment enlistment, Exception e) { VolatileEnlistmentState._VolatileEnlistmentEnded.EnterState(enlistment); if (enlistment.Transaction.innerException == null) { enlistment.Transaction.innerException = e; } enlistment.FinishEnlistment(); }
// The enlistment says to abort start the abort sequence. internal override void ForceRollback(InternalEnlistment enlistment, Exception e) { // Change enlistment state to aborting VolatileEnlistmentEnded.EnterState(enlistment); // Start the transaction aborting enlistment.Transaction.State.ChangeStateTransactionAborted(enlistment.Transaction, e); // Process Finished InternalEnlistment enlistment.FinishEnlistment(); }
// The enlistment says to abort start the abort sequence. internal override void ForceRollback(InternalEnlistment enlistment, Exception e) { // Change enlistment state to aborting VolatileEnlistmentEnded.EnterState(enlistment); // Record the exception in the transaction if (enlistment.Transaction._innerException == null) { // Arguably this is the second call to ForceRollback and not the call that // aborted the transaction but just in case. enlistment.Transaction._innerException = e; } // Process Finished InternalEnlistment enlistment.FinishEnlistment(); }
internal override void EnlistmentDone(InternalEnlistment enlistment) { VolatileEnlistmentState._VolatileEnlistmentDone.EnterState(enlistment); enlistment.FinishEnlistment(); }
internal override void Prepared(InternalEnlistment enlistment) { // The enlistment has respondend so changes it's state to aborting. VolatileEnlistmentAborting.EnterState(enlistment); // Process Finished InternalEnlistment enlistment.FinishEnlistment(); }
internal override void Prepared(InternalEnlistment enlistment) { // Change the enlistments state to prepared. VolatileEnlistmentPrepared.EnterState(enlistment); // Process Finished InternalEnlistment enlistment.FinishEnlistment(); }
internal override void EnlistmentDone(InternalEnlistment enlistment) { VolatileEnlistmentDone.EnterState(enlistment); // Process Finished InternalEnlistment enlistment.FinishEnlistment(); }
internal override void EnlistmentDone(InternalEnlistment enlistment) { // End this enlistment VolatileEnlistmentDone.EnterState(enlistment); // Note another enlistment finished. enlistment.FinishEnlistment(); }
internal override void Prepared(InternalEnlistment enlistment) { VolatileEnlistmentState._VolatileEnlistmentPrepared.EnterState(enlistment); enlistment.FinishEnlistment(); }
internal override void ForceRollback(InternalEnlistment enlistment, Exception e) { VolatileEnlistmentState._VolatileEnlistmentEnded.EnterState(enlistment); enlistment.Transaction.State.ChangeStateTransactionAborted(enlistment.Transaction, e); enlistment.FinishEnlistment(); }