Konsistente und fertige Flags

COM+ erstellt immer ein Kontextobjekt, bevor ein transaktionsbezogenes Objekt aktiviert wird. Das Kontextobjekt enthält objektbezogene Informationen, z. B. den Ersteller und den Transaktionsbezeichner. Jedes Kontextobjekt enthält außerdem ein konsistentes Flag und ein Done-Flag. Zusammen bestimmen diese Flags die status des Transaktionsobjekts.

Das konsistente Flag gibt an, dass das Transaktionsobjekt entweder konsistent oder inkonsistent ist. Die spezifischen Details dazu, wie der Zustand eines Objekts konsistent ist, liegt beim Programmierer. Wenn ein Methodenaufruf dieses Flag auf True festlegt, ist das Objekt konsistent. False gibt an, dass das Objekt inkonsistent ist. COM+ legt das Flag auf True fest, wenn ein Objekt instance erstellt wird. Ein konsistentes Objekt ist bereit, mit der Transaktion fortzufahren. Während ein Objekt aktiv bleibt, können nachfolgende Methodenaufrufe das konsistente Flag wiederholt von True in False ändern und umgekehrt.

Das Done-Flag bestimmt die Dauer einer Transaktion. Wenn ein Methodenaufruf zurückgegeben wird, überprüft COM+ das Done-Flag. Wenn die Methode dieses Flag auf True festlegt, deaktiviert COM+ das Objekt und notiert sich das konsistente Flag. Wenn das Done-Flag False ist, deaktiviert COM+ weder das Objekt noch notiert sich das konsistente Flag. COM+ legt das Done-Flag auf False fest, wenn ein Objekt instance erstellt wird.

Das konsistente Flag gibt eine Stimme ab, um die Transaktion, in der sie ausgeführt wird, zu verpflichten oder abzubrechen, und das fertige Flag beendet die Abstimmung. COM+ überprüft das konsistente Flag, wenn das Done-Flag für einen Methodenaufruf auf True festgelegt ist oder wenn das Objekt deaktiviert wird. Obwohl sich das konsistente Flag eines Objekts innerhalb jedes Methodenaufrufs wiederholt ändern kann, zählt nur die letzte Änderung.

Verwalten automatischer Transaktionen in COM+

Festlegen der Flags "Konsistent" und "Fertig"