Condividi tramite


Impostazione degli indicatori coerenti e completati

Imposti i flag "consistente" e "fatto" richiamando metodi sulle interfacce IObjectContext o IContextState. Le strategie usate da queste due interfacce differiscono in modo significativo. IObjectContext include quattro metodi che associano i flag coerenti e eseguiti insieme in combinazioni univoche, mentre IContextState dispone di due metodi che consentono di impostare ogni flag in modo indipendente. I metodi di IObjectContext vengono esposti anche tramite l'oggetto ObjectContext .

Per il controllo indipendente di ogni flag, IContextState fornisce un metodo per impostare il flag coerente su True o False e un metodo per impostare il flag completato su True o False. Questi metodi sono SetMyTransactionVote e SetDeactivateOnReturn, rispettivamente. L'interfaccia IContextState include anche metodi per recuperare il valore corrente di ogni flag.

Quando si imposta il valore del metodo SetMyTransactionVote su TxCommit, COM+ verifica la presenza di una transazione. Se COM+ non rileva una transazione, genera un errore che è possibile acquisire in un file di log. Supponiamo, ad esempio, che un utente configuri inavvertitamente l'attributo della transazione del tuo componente su Non supportato, ma tu ti aspettavi che fosse impostato su Obbligatorio. Impostando SetMyTransactionVote = TxCommit, è possibile identificare il conflitto e intervenire.

Nella tabella seguente vengono descritte le chiamate al metodo che possono essere usate per impostare i flag consistenti e completati.

Bandiera coerente Flag completato Metodo IObjectContext Metodi IContextState
Vero
Falso
EnableCommit
SetMyTransactionVotetxVote = TxCommit
SetDeactivateOnReturnbDeactivate = False
Falso
Falso
DisableCommit
SetMyTransactionVotetxVote = TxAbort
SetDeactivateOnReturnbDeactivate = Falso
Falso
Vero
SetAbort
SetMyTransactionVotetxVote = TxAbort
SetDeactivateOnReturnbDeactivate = Vero
Vero
Vero
SetComplete
SetMyTransactionVotetxVote = TxCommit
SetDeactivateOnReturnbDeactivate = True

Nota

La proprietà "auto-done", impostata a livello di metodo, può influire sul modo in cui vengono impostati i flag "consistent" e "done". Per ulteriori informazioni sulla proprietà auto-completata, vedere Abilitazione della completazione automatica per un metodo e Impostazione del bit completato.