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 Enlistment objeto usado para enviar uma resposta ao gerenciador de transações.

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 ao TM que ela terminou 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 chamado, essa informação será mantida indefinidamente na memória ou em um recurso em todo o sistema. Isso faz com que os recursos não possam ser recuperados. No caso de uma transação distribuída, isso pode eventualmente preencher o log do MSDTC, o que interrompe o processo do 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 depois que o Done gerenciador de recursos terminar seu trabalho de preparação.

Aplica-se a