Enlistment.Done Methode

Definition

Gibt an, dass der Transaktionsteilnehmer seine Arbeit abgeschlossen hat.

public:
 void Done();
public void Done();
member this.Done : unit -> unit
Public Sub Done ()

Hinweise

Während der letzten Phase des Transaktions-Commits ruft der Transaktionsmanager entweder die CommitMethode Rollback oder InDoubt die Methode des Teilnehmers auf, je nachdem, ob die Transaktion zugesichert oder zurückgesetzt werden soll. Der Ressourcenmanager sollte alle erforderlichen Aufgaben ausführen, um die Transaktion abzuschließen, und dann den Transaktions-Manager darüber informieren, dass er beendet wurde, indem er die Done Methode für den enlistment Parameter aufruft.

Wenn der Ressourcenmanager die Liste dauerhaft auflistet, aber nicht durch Aufrufen Done der Methode antwortet, ist der Transaktionsmanager nicht sicher, dass der Ressourcenmanager den entsprechenden Benachrichtigungsaufruf empfangen hat. Daher wartet der Transaktionsmanager weiterhin auf eine Antwort und verwaltet informationen, die für diese Transaktion relevant sind. Wenn Done dieser Vorgang nie aufgerufen wird, werden diese Informationen unbegrenzt im Arbeitsspeicher oder in einer systemweiten Ressource aufbewahrt. Dies führt dazu, dass Ressourcen nicht zurückgefordert werden können. Im Falle einer verteilten Transaktion könnte dies schließlich das MSDTC-Protokoll ausfüllen, das den MSDTC-Prozess angehalten. Im Falle einer transaktion, die von System.Transactionsverwaltet wird, führt dies zu einer allmählichen und kontinuierlichen Erhöhung des Speicherverbrauchs des Ressourcenmanagerprozesses. Daher ist es wichtig, dass Sie die Done Methode aufrufen, sobald der Ressourcen-Manager mit Ihrer Vorbereitungsarbeit fertig ist.

Eine Liste kann die Done Methode jederzeit aufrufen, bevor sie in der Vorbereitungsphase aufgerufen Prepared wurde. Auf diese Weise wird die Auflistung eine schreibgeschützte Abstimmung abgegeben, d. h., sie stimmt über die Transaktion ab, muss aber nicht das endgültige Ergebnis erhalten. Beachten Sie, dass der aufgelistete Teilnehmer nach dem Aufruf dieser Methode keine weiteren Benachrichtigungen vom Transaktions-Manager erhält.

Gilt für:

Weitere Informationen