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.