IEnlistmentNotification.Rollback(Enlistment) Método

Definición

Notifica a un objeto inscrito que se deshace (se anula) una transacción.

public:
 void Rollback(System::Transactions::Enlistment ^ enlistment);
public void Rollback (System.Transactions.Enlistment enlistment);
abstract member Rollback : System.Transactions.Enlistment -> unit
Public Sub Rollback (enlistment As Enlistment)

Parámetros

enlistment
Enlistment

Objeto Enlistment utilizado para enviar una respuesta al administrador de transacciones.

Comentarios

El administrador de transacciones llama a este método de un objeto inscrito cuando la transacción se revierte (anulada) debido a la incapacidad de uno o varios participantes de transacción para confirmar la transacción.

El administrador de recursos debe realizar cualquier trabajo necesario para finalizar la transacción y, a continuación, informar al TM de que ha terminado llamando al Done método en el enlistment parámetro .

Si el administrador de recursos se ha inscrito de forma duradera, pero no responde llamando al Done método , el administrador de transacciones no está seguro de que el administrador de recursos haya recibido la Rollback llamada. Por lo tanto, el administrador de transacciones sigue esperando una respuesta y mantiene información relevante para esta transacción. Si Done nunca se llama a , este fragmento de información se mantiene indefinidamente en memoria o en un recurso de todo el sistema. Esto da como resultado que los recursos no se puedan reclamar. En el caso de una transacción distribuida, esto podría llenar el registro de MSDTC que detiene el proceso de MSDTC. En el caso de una transacción administrada por System.Transactions, esto da como resultado un aumento gradual y continuo en el consumo de memoria del proceso del administrador de recursos. Por lo tanto, es fundamental llamar al Done método una vez que el administrador de recursos haya terminado con el trabajo de preparación.

Se aplica a