IEnlistmentNotification.Rollback(Enlistment) Metodo

Definizione

Notifica a un oggetto inserito nell'elenco che è in corso l'esecuzione del rollback (interruzione) di una transazione.

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)

Parametri

enlistment
Enlistment

Oggetto Enlistment utilizzato per inviare una risposta al gestore delle transazioni.

Commenti

Gestione transazioni chiama questo metodo di un oggetto elencato quando la transazione viene eseguito il rollback (interrotto) a causa dell'incapacità di uno o più partecipanti alla transazione di eseguire il commit della transazione.

Gestione risorse deve eseguire qualsiasi lavoro necessario per completare la transazione e quindi informare il TM che è stato completato chiamando il Done metodo sul enlistment parametro.

Se il gestore risorse è elencato duramente, ma non risponde chiamando Done il metodo, gestione transazioni non è sicuro che resource manager abbia ricevuto la Rollback chiamata. Di conseguenza, il gestore delle transazioni rimane in attesa di una risposta e mantiene le informazioni rilevanti per questa transazione. Se Done non viene mai chiamato, questa parte di informazioni viene mantenuta in modo indefinito in memoria o in una risorsa a livello di sistema. Ciò comporta la mancata recupero delle risorse. Nel caso di una transazione distribuita, questa operazione potrebbe eventualmente riempire il log MSDTC che arresta il processo MSDTC. Nel caso di una transazione gestita da System.Transactions, ciò comporta un aumento graduale e continuo dell'utilizzo della memoria del processo di Resource Manager. Pertanto, è fondamentale chiamare il Done metodo dopo che gestione risorse viene eseguito con il lavoro di preparazione.

Si applica a