Freigeben über


IEnlistmentNotification.Prepare(PreparingEnlistment) Methode

Definition

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

public:
 void Prepare(System::Transactions::PreparingEnlistment ^ preparingEnlistment);
public void Prepare (System.Transactions.PreparingEnlistment preparingEnlistment);
abstract member Prepare : System.Transactions.PreparingEnlistment -> unit
Public Sub Prepare (preparingEnlistment As PreparingEnlistment)

Parameter

preparingEnlistment
PreparingEnlistment

Ein PreparingEnlistment-Objekt, mit dem eine Antwort an den Transaktions-Manager gesendet wird.

Hinweise

Der Transaktions-Manager ruft diese Methode eines eingetragenen Ressourcen-Managers während der Phase 1 einer Verpflichtung auf, wenn die Teilnehmer gefragt werden, ob sie die Transaktion committen können.

Wenn Sie einen permanenten Ressourcen-Manager implementieren, sollten Sie Ihren Vorbereitungsdatensatz während dieser Phase protokollieren. Der Datensatz sollte alle erforderlichen Informationen zum Durchführen der Wiederherstellung enthalten. Dies schließt die RecoveryInformation -Eigenschaft ein, die während der Wiederherstellung an den Transaktions-Manager in der Reenlist -Methode übergeben wird. Weitere Informationen zur Wiederherstellung finden Sie unter Ausführen der Wiederherstellung.

Ihr Ressourcen-Manager sollte alle Arbeiten abschließen, die abgeschlossen werden müssen, bevor die Prepared -Methode des preparingEnlistment Parameters aufgerufen wird, um seine Stimme für die Verpflichtung anzugeben. Stellen Sie sicher, dass dies erreicht wird, bevor Sie eine Phase-2-Benachrichtigung wie Commit, Rollback oder Zweifel erhalten. Dies liegt daran, dass Phase-2-Benachrichtigungen inline im selben Thread erfolgen können, der die Prepared -Methode in Phase 1 aufgerufen hat. Daher sollten Sie nach dem Prepared-Aufruf keine Aufgaben mehr ausführen (z. B. Freigeben von Sperren), die vor dem Empfang der Benachrichtigungen aus Phase 2 abgeschlossen sein müssen.

Sie können auch die -Methode des preparingEnlistment Parameters aufrufen, um eine Stimme für das Rollback anzugeben.

Wenn das Objekt nur den Fortschritt der Transaktion beobachten und darauf reagieren soll, ohne daran teilzunehmen, sollte ihre Implementierung dieser Methode die Done Methode des preparingEnlistment Parameters aufrufen, wenn die Arbeit abgeschlossen ist. Dadurch erhält Ihr Ressourcen-Manager keine Phase-2-Benachrichtigung.

Gilt für: