Enlistment.Done Método

Definición

Indica que el participante de la transacción ha completado su trabajo.

public:
 void Done();
public void Done();
member this.Done : unit -> unit
Public Sub Done ()

Comentarios

Durante la fase final de la confirmación de la transacción, el administrador de transacciones llama al Commitmétodo , Rollback o InDoubt del participante, dependiendo de si la transacción se va a confirmar o revertir. El administrador de recursos debe realizar cualquier trabajo necesario para finalizar la transacción y, a continuación, informar al administrador de transacciones 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 llamada de notificación correspondiente. 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 rellenar el registro MSDTC, lo 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.

Una inscripción puede llamar al Done método en cualquier momento antes de llamar a Prepared en la fase de preparación. Al hacerlo, la inscripción se convierte en un voto de solo lectura, lo que significa que vota la confirmación en la transacción, pero no necesita recibir el resultado final. Tenga en cuenta que, después de llamar a este método, el participante inscrito no recibe más notificaciones del administrador de transacciones.

Se aplica a

Consulte también