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.

Gestione delle transazioni automatiche in COM+

Impostazione dei flag coerenti e fatti