IEnlistmentNotification.Rollback(Enlistment) Metodo

Definizione

Notifica a un oggetto incluso che viene eseguito il rollback di una transazione (interrotto).

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 transazioni.

Commenti

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

Il gestore delle risorse deve eseguire qualsiasi operazione necessaria per completare la transazione e quindi informare la tm che è stata completata chiamando il Done metodo sul enlistment parametro .

Se il gestore risorse è stato inserito in modo permanente, ma non risponde chiamando Done il metodo, il gestore transazioni non è sicuro che gestione risorse abbia ricevuto la Rollback chiamata. Di conseguenza, gestione transazioni continua ad attendere una risposta e mantiene le informazioni rilevanti per questa transazione. Se Done non viene mai chiamato, queste informazioni vengono mantenute per un tempo indefinito in memoria o in una risorsa a livello di sistema. Ciò comporta la mancata recupero delle risorse. Nel caso di una transazione distribuita, questo potrebbe eventualmente riempire il log MSDTC, che interrompe il processo MSDTC. Nel caso di una transazione gestita da System.Transactions, questo comporta un aumento graduale e continuo del consumo di memoria del processo del gestore risorse. Pertanto, è fondamentale chiamare il Done metodo dopo che il gestore risorse è stato completato con il lavoro di preparazione.

Si applica a