IEnlistmentNotification.Commit(Enlistment) Método

Definición

Notifica a un objeto inscrito que se confirma una transacción.

public:
 void Commit(System::Transactions::Enlistment ^ enlistment);
public void Commit (System.Transactions.Enlistment enlistment);
abstract member Commit : System.Transactions.Enlistment -> unit
Public Sub Commit (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 durante la segunda fase de un compromiso, cuando indica a todos los participantes que confirmen 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 Commit 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