Erben manueller Transaktionen

Wenn ein Objekt mit einer BYOT-Transaktion im Kontext ein zweites Objekt erstellt, kann das downstream-Objekt die BYOT-Transaktion erben (sofern konfiguriert, um Transaktionen zu erben). Das erste Objekt, das mit dem BYOT-Gateway erstellt wurde, muss so konfiguriert werden, dass Transaktionen erforderlich oder unterstützt werden. Nachfolgende Objekte in der Aktivität können basierend auf den Anwendungsanforderungen konfiguriert werden.

Bei automatischen Transaktionen versucht die COM+-Runtime erst, die Transaktion zu committen, bis das Stammobjekt angibt, dass sie bereit ist (indem SetComplete aufgerufen wird, bevor von einem Aufruf zurückgegeben wird). Benutzer sollten sich bewusst sein, dass eine BYOT-Transaktion vorzeitig committet werden kann (da die Arbeit untergeordneter Objekte nicht abgeschlossen wurde), da das "Root" nicht unter der COM+-Laufzeitumgebung ausgeführt wird und die Commitsemantik nicht an die Lebensdauer des Objekts gebunden ist. Im Allgemeinen sollte der Benutzer darauf achten, die Synchronisierungsgrenze der Transaktion nicht zu verletzen.

Andernfalls wird com+-Commitsemantik angewendet. COM+ versucht nicht, eine Transaktion zu committen, während ein Objekt innerhalb einer Synchronisierungsgrenze aufgerufen wird. Außerdem können Objekte ihre Konsistenz mithilfe von DisableCommit angeben. Wenn versucht wird, eine Transaktion zu committen, die die Arbeit eines Objekts enthält, das DisableCommit aufgerufen hat, wird die Transaktion abgebrochen.