Festlegen der Flags "Konsistent" und "Fertig"

Sie legen die konsistenten und fertig-Flags fest, indem Sie Methoden für die IObjectContext- oder die IContextState-Schnittstelle aufrufen. Die von diesen beiden Schnittstellen verwendeten Strategien unterscheiden sich erheblich. IObjectContext verfügt über vier Methoden, die konsistente und fertige Flags in eindeutigen Kombinationen miteinander verbinden, während IContextState über zwei Methoden verfügt, mit denen Sie jedes Flag unabhängig festlegen können. Die Methoden von IObjectContext werden auch über das ObjectContext-Objekt verfügbar gemacht.

Für die unabhängige Steuerung jedes Flags stellt IContextState eine Methode zum Festlegen des konsistenten Flags auf True oder False und eine Methode zum Festlegen des done-Flags auf True oder False zur Verfügung. Diese Methoden sind SetMyTransactionVote bzw. SetDeactivateOnReturn. Die IContextState-Schnittstelle enthält auch Methoden zum Abrufen des aktuellen Werts der einzelnen Flags.

Wenn Sie den SetMyTransactionVote-Methodenwert auf TxCommit festlegen, überprüft COM+ das Vorhandensein einer Transaktion. Wenn COM+ keine Transaktion erkennt, wird ein Fehler generiert, den Sie in einer Protokolldatei erfassen können. Angenommen, eine Person konfiguriert versehentlich das Transaktionsattribut Ihrer Komponente auf Nicht unterstützt, aber Sie haben erwartet, dass es auf Erforderlich festgelegt ist. Durch Festlegen von SetMyTransactionVote = TxCommit können Sie den Konflikt identifizieren und Maßnahmen ergreifen.

In der folgenden Tabelle werden die Methodenaufrufe beschrieben, die zum Festlegen der konsistenten und fertig-Flags verwendet werden können.

Konsistentes Flag Flag "Fertig" IObjectContext-Methode IContextState-Methoden
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

Hinweis

Die automatisch durchgeführte Eigenschaft, die auf Methodenebene festgelegt wird, kann sich darauf auswirken, wie die konsistenten und fertigen Flags festgelegt werden. Weitere Informationen zur automatisch durchgeführten Eigenschaft finden Sie unter Aktivieren der automatischen Verarbeitung für eine Methode und Festlegen von Done Bit.