CommittableTransaction.EndCommit(IAsyncResult) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Ends an attempt to commit the transaction asynchronously.
public:
void EndCommit(IAsyncResult ^ asyncResult);
public void EndCommit (IAsyncResult asyncResult);
member this.EndCommit : IAsyncResult -> unit
Public Sub EndCommit (asyncResult As IAsyncResult)
Parameters
- asyncResult
- IAsyncResult
The IAsyncResult object associated with the asynchronous commitment.
Exceptions
BeginCommit(AsyncCallback, Object) is called and the transaction rolls back for the first time.
Remarks
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.
Caution
The CompletedSynchronously property returned by asyncResult
is always false
, even if the operation completed synchronously.
Commit and 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.