IEnlistmentNotification.InDoubt(Enlistment) Metodo

Definizione

Notifica a un oggetto inserito nell'elenco che lo stato di una transazione è in dubbio.

public:
 void InDoubt(System::Transactions::Enlistment ^ enlistment);
public void InDoubt (System.Transactions.Enlistment enlistment);
abstract member InDoubt : System.Transactions.Enlistment -> unit
Public Sub InDoubt (enlistment As Enlistment)

Parametri

enlistment
Enlistment

Oggetto Enlistment utilizzato per inviare una risposta alla gestione transazioni.

Commenti

Questo metodo viene chiamato per le risorse volatili quando gestione transazioni ha richiamato un'operazione di commit a una singola fase in una singola risorsa durevole e quindi la connessione alla risorsa durevole è stata persa prima di ottenere il risultato della transazione. A questo punto, il risultato della transazione non può essere determinato in modo sicuro.

Come InDoubt viene considerato come uno stato finale per una transazione, non è consigliabile chiamare Commit o Rollback dopo aver chiamato InDoubt.

Nota

L'implementazione di questo metodo per la risorsa volatile deve eseguire qualsiasi operazione di ripristino o di contenimento che comprende sui dati interessati. Deve anche chiamare il Done metodo sul parametro al termine del enlistment suo lavoro.

Se il gestore risorse è elencato duramente, ma non risponde chiamando Done il metodo, gestione transazioni non è sicuro che resource manager abbia ricevuto la InDoubt 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