internal override Enlistment EnlistDurable(
InternalTransaction tx,
Guid resourceManagerIdentifier,
ISinglePhaseNotification enlistmentNotification,
EnlistmentOptions enlistmentOptions,
Transaction atomicTransaction
)
{
tx.ThrowIfPromoterTypeIsNotMSDTC();
Enlistment en = base.EnlistDurable(tx, resourceManagerIdentifier, enlistmentNotification,
enlistmentOptions, atomicTransaction);
// Calling durable enlist in Phase0 may cause the transaction to promote. Leverage the promoted
tx.State.RestartCommitIfNeeded(tx);
return en;
}