IEnlistmentNotification.Commit(Enlistment) Metodo

Definizione

Notifica a un oggetto inserito nell'elenco che è in corso l'esecuzione del commit di una transazione.

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)

Parametri

enlistment
Enlistment

Oggetto Enlistment utilizzato per inviare una risposta alla gestione transazioni.

Commenti

Il gestore delle transazioni chiama questo metodo di un oggetto incluso durante la seconda fase di un impegno, quando indica a tutti i partecipanti di eseguire il commit della transazione.

Il gestore delle risorse deve eseguire tutte le operazioni necessarie per completare la transazione e quindi informare il tm che è stato completato chiamando il Done metodo sul enlistment parametro .

Se resource manager è stato inserito in modo permanente, ma non risponde chiamando Done il metodo , gestione transazioni non è sicuro che gestione risorse abbia ricevuto la Commit chiamata. Di conseguenza, il gestore transazioni rimane in attesa di una risposta e mantiene le informazioni rilevanti per questa transazione. Se Done non viene mai chiamato, questa informazione viene mantenuta per un periodo illimitato 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, si ottiene un aumento graduale e continuo del consumo di memoria del processo di Resource Manager. È quindi fondamentale chiamare il Done metodo dopo che il gestore risorse è stato completato con il lavoro di preparazione.

Si applica a