CommittableTransaction.EndCommit(IAsyncResult) Método

Definição

Encerra uma tentativa de confirmar a transação de forma assíncrona.Ends an attempt to commit the transaction asynchronously.

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)

Parâmetros

asyncResultar
IAsyncResult

O objeto IAsyncResult associado à confirmação assíncrona.The IAsyncResult object associated with the asynchronous commitment.

Exceções

BeginCommit(AsyncCallback, Object) é chamado e a transação é revertida pela primeira vez.BeginCommit(AsyncCallback, Object) is called and the transaction rolls back for the first time.

Comentários

Você deve chamar esse método no delegado de retorno de chamada especificado como um parâmetro para o BeginCommit método, quando tiver concluído qualquer trabalho de limpeza associado ao compromisso assíncrono.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. Você também pode chamar esse método antecipadamente sem esperar pelo delegado.You can also call this method early without waiting for the delegate. Se, quando você chamar esse método, a transação não foi concluída, esse método aguardará sua conclusão.If, by the time you call this method, the transaction has not completed, this method waits for its completion.

Cuidado

A CompletedSynchronously propriedade retornada por asyncResult é sempre false , mesmo que a operação seja concluída de forma síncrona.The CompletedSynchronously property returned by asyncResult is always false, even if the operation completed synchronously.

Commit e EndCommit o bloco até que a primeira fase de processamento da transação seja concluída.Commit and EndCommit block until the first phase of transaction processing is complete. A primeira fase termina depois que todos os gerenciadores de recursos e as inlistagens na transação tiverem votado o resultado da transação e o TransactionManager permanentemente tiver decidido confirmar ou anular a transação.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. A segunda fase do processamento é sempre assíncrona.The second phase of processing is always asynchronous. Portanto, não há nenhuma garantia de que os dados que apenas confirmados em uma determinada transação estarão imediatamente disponíveis posteriormente quando não estiver usando outra transação para exibir esses dados.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.

Aplica-se a