Freigeben über


CommittableTransaction.EndCommit(IAsyncResult) Methode

Definition

Beendet einen Versuch, einen asynchronen Commit für die Transaktion auszuführen.

public:
 void EndCommit(IAsyncResult ^ asyncResult);
public:
 void EndCommit(IAsyncResult ^ ar);
public void EndCommit (IAsyncResult asyncResult);
public void EndCommit (IAsyncResult ar);
member this.EndCommit : IAsyncResult -> unit
member this.EndCommit : IAsyncResult -> unit
Public Sub EndCommit (asyncResult As IAsyncResult)
Public Sub EndCommit (ar As IAsyncResult)

Parameter

asyncResultar
IAsyncResult

Das dem asynchronen Commit zugeordnete IAsyncResult-Objekt.

Ausnahmen

BeginCommit(AsyncCallback, Object) wird aufgerufen, und es wird zum ersten Mal ein Commit der Transaktion ausgeführt.

Hinweise

Sie sollten diese Methode in der Rückrufstellvertretung aufrufen, die als Parameter für die Methode angegeben ist, wenn Sie eine Bereinigung abgeschlossen haben, die BeginCommit der asynchronen Verpflichtung zugeordnet ist. Sie können diese Methode auch früh aufrufen, ohne auf die Stellvertretung zu warten. Wenn die Transaktion nach dem Aufruf dieser Methode nicht abgeschlossen ist, wartet diese Methode auf den Abschluss.

Achtung

Die CompletedSynchronously zurückgegebene asyncResult Eigenschaft ist immer false, auch wenn der Vorgang synchron abgeschlossen wurde.

Commit und EndCommit blockieren, bis die erste Phase der Transaktionsverarbeitung abgeschlossen ist. Die erste Phase endet, nachdem alle Ressourcenmanager und Enlistments in der Transaktion über das Transaktionsergebnis abgestimmt haben und die TransactionManager sich dauerhaft entschieden haben, die Transaktion zu übernehmen oder abzubrechen. Die zweite Phase der Verarbeitung ist immer asynchron. Daher gibt es keine Garantie, dass Daten, die nur innerhalb einer bestimmten Transaktion übernommen wurden, sofort verfügbar sind, wenn diese Daten nicht mit einer anderen Transaktion angezeigt werden.

Gilt für