Compartilhar via


IEnlistmentNotification.Commit(Enlistment) Método

Definição

Notifica um objeto inscrito de que uma transação está sendo confirmada.

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

Um objeto Enlistment usado para enviar uma resposta ao gerenciador de transação.

Comentários

O gerenciador de transações chama esse método de um objeto inscrito durante a segunda fase de um compromisso, quando instrui todos os participantes a confirmar a transação.

O gerenciador de recursos deve executar qualquer trabalho necessário para concluir a transação e informar à TM que ela foi concluída chamando o Done método no enlistment parâmetro.

Se o gerenciador de recursos tiver se inscrito de forma durável, mas não responder pelo método de chamada Done , o gerenciador de transações não terá certeza de que o gerenciador de recursos recebeu a Commit chamada. Dessa forma, o gerenciador de transações continua aguardando uma resposta e mantém informações relevantes para essa transação. Se Done nunca for chamada, essa informação será mantida indefinidamente na memória ou em um recurso de todo o sistema. Isso resulta em recursos que não podem ser recuperados. No caso de uma transação distribuída, isso pode, eventualmente, preencher o log do MSDTC que interrompe o processo MSDTC. No caso de uma transação gerenciada por System.Transactions, isso resulta em um aumento gradual e contínuo no consumo de memória do processo do gerenciador de recursos. Portanto, é crucial que você chame o método assim que o Done gerenciador de recursos terminar seu trabalho de preparação.

Aplica-se a