Compartir vía


CommittableTransaction.EndCommit(IAsyncResult) Método

Definición

Finaliza un intento de confirmar la transacción de forma asincrónica.

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

Parámetros

asyncResult
IAsyncResult

Objeto IAsyncResult asociado al compromiso asincrónico.

Excepciones

BeginCommit(AsyncCallback, Object) se llama a y la transacción se revierte por primera vez.

Comentarios

Debe llamar a este método en el delegado de devolución de llamada especificado como parámetro para el BeginCommit método , cuando haya terminado cualquier trabajo de limpieza asociado al compromiso asincrónico. También puede llamar a este método temprano sin esperar al delegado. Si, en el momento en que se llama a este método, la transacción no se ha completado, este método espera su finalización.

Precaución

La CompletedSynchronously propiedad devuelta por asyncResult siempre falsees , incluso si la operación se completó sincrónicamente.

Commit y EndCommit se bloquean hasta que se complete la primera fase del procesamiento de transacciones. La primera fase finaliza después de que todos los administradores de recursos y las inscripciones en la transacción hayan votado en el resultado de la transacción y el TransactionManager ha decidido confirmar o anular la transacción de forma duradera. La segunda fase del procesamiento siempre es asincrónica. Por lo tanto, no hay ninguna garantía de que los datos confirmados desde dentro de una transacción determinada estarán disponibles inmediatamente después cuando no usen otra transacción para ver estos datos.

Se aplica a