Compartir a través de


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 ^ 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

Objeto IAsyncResult asociado a la confirmación asincrónica.

Excepciones

Se llama al método BeginCommit(AsyncCallback, Object) y se deshace la transacción 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, por 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ó de forma sincrónica.

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 sobre el resultado de la transacción y el TransactionManager ha decidido confirmar o anular la transacción. 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