Der Abschnitt Transaction
einer Bausteinimplementierung bietet Unterstützung für alle Aufgaben, die mit einer logischen Transaktion verbunden sind. Eine Transaktion ist insofern logisch, als dass die Interpretation einer Transaktion beim jeweiligen Proxy
für den jeweiligen Implementierungstyp liegt. Die meisten Proxies
werden zumindest auf die Fertigstellung aller noch offenen Threads
warten.
Die logischen Transaktion können verschachtelt sein. Jede mit Begin
eröffnete Transaktion muss entweder mit einem Commit
oder einem Rollback
abgeschlossen werden. Beim Ende (Unregister
) eines Bausteins werden die in diesem Baustein angefangene und noch offene Transaktionen mit einem impliziten Rollback
geschlossen.
public bool Begin()
Bewirkt den Anfang einer logischen Transaktion. Am Ende des Bausteines muss jede in diesem Baustein geöffnete Transaktion entweder mit Commit
oder mit Rollback
explizit geschlossen worden sein, sonst erfolgt ein impliziter Rollback
.
public bool Commit()
Markiert den erfolgreichen Abschluss einer logischen Transaktion.
public bool Rollback()
Markiert den fehlerhaften Abschluss einer logischen Transaktion.