Erstellen einer Transaktionsanwendung

Als Programmierer von Transaktionsanwendungen können Sie die beiden Programmiermodelle nutzen, die der System.Transactions-Namespace zum Erstellen von Transaktionen zur Verfügung stellt. Sie können das explizite Programmiermodell mit der Transaction-Klasse oder das implizite Programmmiermodell, in dem Transaktionen automatisch von der Infrastruktur verwaltet werden, mit der TransactionScope-Klasse verwenden. Wir empfehlen, das implizite Transaktionsmodell für die Entwicklung zu nutzen. Weitere Informationen zur Verwendung eines Transaktionsbereichs finden Sie im Thema Implementieren einer impliziten Transaktion mit Transaktionsbereich.

Beide Modelle unterstützen die Ausführung eines Commits für eine Transaktion, wenn das Programm einen konsistenten Zustand erreicht. Wenn der Commitvorgang erfolgreich ausgeführt wurde, ist die Transaktion abgeschlossen. Wenn der Commitvorgang fehlschlägt, wird die Transaktion abgebrochen. Wenn das Anwendungsprogramm die Transaktion nicht erfolgreich abschließen kann, versucht es, die Transaktion abzubrechen und deren Auswirkungen rückgängig zu machen.

In diesem Abschnitt

Erstellen einer Transaktion

Der System.Transactions-Namespace stellt zwei Modelle zum Erstellen einer Transaktion bereit. Diese Modelle werden in den folgenden Themen behandelt.

Implementieren einer impliziten Transaktion mit Transaktionsbereich

Hier wird beschrieben, wie der System.Transactions-Namespace die Erstellung impliziter Transaktionen mithilfe der TransactionScope-Klasse unterstützt.

Implementieren einer expliziten Transaktion mit CommittableTransaction

Hier wird beschrieben, wie der System.Transactions-Namespace die Erstellung expliziter Transaktionen mithilfe der CommittableTransaction-Klasse unterstützt.

Eskalieren der Transaktionsverwaltung

Wenn eine Transaktion auf eine Ressource aus einer anderen Anwendungsdomäne zugreifen muss oder wenn Sie einen anderen stabilen Ressourcen-Manager eintragen möchten, wird die Verwaltung der Transaktion automatisch MSDTC übertragen. Die Transaktionseskalation wird im Thema Eskalation der Transaktionsverwaltung behandelt.

Parallelität

Im Thema Verwalten von Parallelität mit DependentTransaction wird gezeigt, wie mithilfe der DependentTransaction-Klasse Parallelität zwischen asynchronen Aufgaben erreicht werden kann.

COM+-Interop

Im Thema Interoperabilität mit Enterprise Services und COM+-Transaktionen wird veranschaulicht, wie Sie eine Interaktion von verteilten Transaktionen mit COM+-Transaktionen erreichen können.

Diagnose

Im Thema Ablaufverfolgungen zur Diagnose wird beschrieben, wie Sie mithilfe der von der System.Transactions-Infrastruktur erzeugten Ablaufverfolgungscodes Anwendungsfehler behandeln können.

Arbeiten in ASP.NET

Im Thema Verwenden von System.Transactions in ASP.NET wird beschrieben, wie Sie System.Transactions in einer ASP.NET-Anwendung erfolgreich verwenden können.