EndCommit Method

CommittableTransaction.EndCommit Method (IAsyncResult)


Ends an attempt to commit the transaction asynchronously.

Namespace:   System.Transactions
Assembly:  System.Transactions (in System.Transactions.dll)

Public Sub EndCommit (
	asyncResult As IAsyncResult


Type: System.IAsyncResult

The IAsyncResult object associated with the asynchronous commitment.

Exception Condition

BeginCommit is called and the transaction rolls back for the first time.

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.


The CompletedSynchronously property returned by asyncResult is always false, even if the operation completed synchronously.

Commit and M:System.Transactions.CommittableTransaction.EndCommit block until the first phase of transaction processing is complete. 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. 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.

.NET Framework
Available since 2.0
Return to top
© 2015 Microsoft