Share via


ISinglePhaseNotification Schnittstelle

Definition

Beschreibt ein Ressourcenobjekt, das die Einphasencommit-Optimierung für die Einbeziehung in eine Transaktion unterstützt.

public interface class ISinglePhaseNotification : System::Transactions::IEnlistmentNotification
public interface ISinglePhaseNotification : System.Transactions.IEnlistmentNotification
type ISinglePhaseNotification = interface
    interface IEnlistmentNotification
Public Interface ISinglePhaseNotification
Implements IEnlistmentNotification
Implementiert

Hinweise

Sie sollten beachten, dass auch wenn Ihr Ressourcenmanager diese Schnittstelle implementiert, um die Optimierung einzelner Phasen-Commits zu unterstützen, nicht garantiert wird, dass er einen einzelnen Phase-Commit erhält. Der Transaktions-Manager kann stattdessen weiterhin zwei Phasen-Commitbenachrichtigungen senden.

Rufen Sie die EnlistVolatile Methode oder die EnlistDurable Methode der Transaction Klasse auf, um Ihren Ressourcen-Manager als Teilnehmer in einer Transaktion aufzurufen. Insbesondere sollte der EnlistmentOptions Parameter gleich None sein, um sicherzustellen, dass ein einzelner Phase-Commit ausgeführt wird. Wenn es versehentlich auf festgelegt EnlistDuringPrepareRequiredist, tritt kein einzelner Phase-Commit auf.

Da die ISinglePhaseNotification Schnittstelle von der IEnlistmentNotification Schnittstelle abgeleitet wird, muss der Ressourcenmanager auch alle Methoden des letzteren für zwei Phasen-Commitbenachrichtigungen implementieren. Es ist die Wahl des Transaktionsmanagers, ob zwei Phasen commit oder die Optimierung des einzelnen Phasen-Commits mit diesem Ressourcen-Manager verwendet wird. Die Implementierung dieser Schnittstelle bietet dem Ressourcenmanager jedoch die Möglichkeit, die Optimierung zu nutzen, wenn sie verfügbar ist.

Wenn die Optimierung verwendet wird und der Transaktionsmanager die SinglePhaseCommit Methode der enlisteten Ressource aufruft, sollte der Ressourcenmanager mithilfe verschiedener Methoden der SinglePhaseEnlistment Klasse auf diesen Aufruf reagieren, um den Transaktionsmanager darüber zu informieren, ob die Transaktion zugesichert oder zurückgesetzt werden soll.

Methoden

Commit(Enlistment)

Benachrichtigt ein eingetragenes Objekt darüber, dass ein Commit für eine Transaktion ausgeführt wird.

(Geerbt von IEnlistmentNotification)
InDoubt(Enlistment)

Benachrichtigt ein eingetragenes Objekt darüber, dass der Status einer Transaktion zweifelhaft ist.

(Geerbt von IEnlistmentNotification)
Prepare(PreparingEnlistment)

Benachrichtigt ein eingetragenes Objekt darüber, dass eine Transaktion für einen Commit vorbereitet wurde.

(Geerbt von IEnlistmentNotification)
Rollback(Enlistment)

Benachrichtigt ein eingetragenes Objekt, dass ein Rollback für eine Transaktion ausgeführt wird (sie wird abgebrochen).

(Geerbt von IEnlistmentNotification)
SinglePhaseCommit(SinglePhaseEnlistment)

Stellt die Implementierung des Ressourcen-Managers des Rückrufs für die Einphasencommit-Optimierung dar.

Gilt für

Siehe auch