public override void BeforeCompletion() { TransactionSynchronizationManager.UnbindResource(resourceKey); holderActive = false; if (!transacted) { resourceHolder.CloseAll(); } }