Compartir a través de


Establecer las marcas coherentes y realizadas

Para establecer las marcas coherentes y realizadas, se invocan métodos en las interfaces IObjectContext o IContextState. Las estrategias usadas por estas dos interfaces difieren significativamente. IObjectContext tiene cuatro métodos que vinculan marcas coherentes y realizadas juntas en combinaciones únicas, mientras que IContextState tiene dos métodos que permiten establecer cada marca de forma independiente. Los métodos de IObjectContext también se exponen a través del objeto ObjectContext.

Para el control independiente de cada marca, IContextState, proporciona un método para establecer la marca coherente en True o False y un método para establecer la marca realizada en True o False. Estos métodos son SetMyTransactionVote y SetDeactivateOnReturn, respectivamente. La interfaz IContextState también incluye métodos para recuperar el valor actual de cada marca.

Al establecer el valor del método SetMyTransactionVote en TxCommit, COM+ comprueba la presencia de una transacción. Si COM+ no detecta una transacción, genera un error que puede capturar en un archivo de registro. Por ejemplo, supongamos que alguien configura accidentalmente el atributo de transacción del componente en No compatible, pero esperaba que se establezca en Obligatorio. Al establecer SetMyTransactionVote = TxCommit, puede identificar el conflicto y tomar medidas.

En la tabla siguiente se describen las llamadas al método que se pueden usar para establecer las marcas coherentes y realizadas.

Marca coherente Marca realizada Método IObjectContext Métodos IContextState
True
False
EnableCommit
SetMyTransactionVote txVote = TxCommit
SetDeactivateOnReturn bDeactivate = False
False
False
DisableCommit
SetMyTransactionVote txVote = TxAbort
SetDeactivateOnReturn bDeactivate = False
False
True
SetAbort
SetMyTransactionVote txVote = TxAbort
SetDeactivateOnReturn bDeactivate = True
True
True
SetComplete
SetMyTransactionVote txVote = TxCommit
SetDeactivateOnReturn bDeactivate = True

Nota:

La propiedad auto-done, que se establece en el nivel de método, puede afectar a cómo se establecen las marcas coherentes y realizadas. Para obtener más información sobre la propiedad auto-done, consulte Habilitación de Auto-Done para un método y Establecimiento del bit realizado.