Flag coerenti e fatti
COM+ crea sempre un oggetto contesto prima di attivare un oggetto transazionale. L'oggetto contesto contiene informazioni correlate all'oggetto, ad esempio il relativo creatore e il relativo identificatore di transazione. Ogni oggetto di contesto contiene anche un flag coerente e un flag completato. Insieme questi flag determinano lo stato dell'oggetto transazionale.
Il flag coerente indica che l'oggetto transazionale è coerente o incoerente. I dettagli specifici di ciò che rende coerente lo stato di un oggetto spetta al programmatore. Quando una chiamata al metodo imposta questo flag su True, l'oggetto è coerente. False indica che l'oggetto è incoerente. COM+ imposta il flag su True quando crea un'istanza dell'oggetto. Un oggetto coerente è pronto per procedere con la transazione. Mentre un oggetto rimane attivo, le chiamate di metodo successive possono cambiare ripetutamente il flag coerente da True a False e viceversa.
Il flag completato determina la durata di una transazione. Quando viene restituita una chiamata al metodo, COM+ controlla il flag completato. Se il metodo imposta questo flag su True, COM+ disattiva l'oggetto e annota il flag coerente. Quando il flag completato è False, COM+ non disattiva l'oggetto né annota il flag coerente. COM+ imposta il flag completato su False quando crea un'istanza dell'oggetto.
Il flag coerente esegue il cast di un voto per confermare o interrompere la transazione in cui viene eseguita e il flag completato finalizza il voto. COM+ controlla il flag coerente quando il flag completato è impostato su True in una chiamata al metodo restituito o quando l'oggetto viene disattivato. Anche se il flag coerente di un oggetto può cambiare ripetutamente all'interno di ogni chiamata al metodo, solo l'ultimo conteggio delle modifiche.
Argomenti correlati