CommittableTransaction.EndCommit(IAsyncResult) メソッド


非同期的にトランザクションをコミットする試みを終了します。Ends an attempt to commit the transaction asynchronously.

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



非同期のコミットに関連付けられた IAsyncResult オブジェクト。The IAsyncResult object associated with the asynchronous commitment.


BeginCommit(AsyncCallback, Object) が呼び出され、トランザクションが初めてロールバックされます。BeginCommit(AsyncCallback, Object) is called and the transaction rolls back for the first time.


非同期コミットメントに関連付けられたクリーンアップ作業が完了したら、BeginCommit メソッドのパラメーターとして指定されたコールバックデリゲートで、このメソッドを呼び出す必要があります。You should call this method in the callback delegate specified as a parameter to the BeginCommit method, when you have finished any cleanup work associated with the asynchronous commitment. デリゲートを待機せずにこのメソッドを早期に呼び出すこともできます。You can also call this method early without waiting for the delegate. このメソッドを呼び出したときに、トランザクションが完了していない場合、このメソッドは完了を待機します。If, by the time you call this method, the transaction has not completed, this method waits for its completion.


操作が同期的に完了した場合でも、asyncResult によって返される CompletedSynchronously プロパティは常に falseます。The CompletedSynchronously property returned by asyncResult is always false, even if the operation completed synchronously.

Commit および EndCommit、トランザクション処理の最初のフェーズが完了するまでブロックされます。Commit and EndCommit block until the first phase of transaction processing is complete. 最初のフェーズは、すべてのリソースマネージャーとトランザクションの参加リストがトランザクションの結果について投票し、TransactionManager がトランザクションのコミットまたは中止を永続的にした後に終了します。The first phase ends after all resource managers and enlistments in the transaction have voted on the transaction outcome and the TransactionManager has durably decided to commit or abort the transaction. 処理の2番目のフェーズは常に非同期です。The second phase of processing is always asynchronous. そのため、このデータを表示するために別のトランザクションを使用しない場合、特定のトランザクション内からコミットされたばかりのデータをすぐに使用できる保証はありません。Therefore, there is no guarantee that data just committed from within a given transaction will be immediately available afterwards when not using another transaction to view this data.