Compartilhar via


IEnlistmentNotification.Rollback(Enlistment) Método

Definição

Notifica um objeto inscrito de que uma transação está sendo revertida (anulada).

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

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

Comentários

O gerenciador de transações chama esse método de um objeto inscrito quando a transação está sendo revertida (anulada) devido à incapacidade de um ou mais participantes da transação confirmarem 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 Rollback 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