Freigeben über


Schreiben einer Transaktionsanwendung

Als Transaktionsanwendungsprogrammierer können Sie die beiden Vom Namespace bereitgestellten System.Transactions Programmiermodelle nutzen, um eine Transaktion zu erstellen. Sie können das explizite Programmiermodell verwenden, indem Sie die Transaction Klasse oder das implizite Programmiermodell verwenden, in dem Transaktionen automatisch von der Infrastruktur verwaltet werden, indem Sie die TransactionScope Klasse verwenden. Es wird empfohlen, das implizite Transaktionsmodell für die Entwicklung zu verwenden. Weitere Informationen zur Verwendung eines Transaktionsbereichs finden Sie im Thema "Implementieren einer impliziten Transaktion mit Transaktionsbereich ".

Beide Modelle unterstützen das Commit einer Transaktion, wenn das Programm einen konsistenten Zustand erreicht. Wenn der Commit erfolgreich ist, wird die Transaktion dauerhaft zugesichert. Wenn der Commit fehlschlägt, wird die Transaktion abgebrochen. Wenn das Anwendungsprogramm die Transaktion nicht erfolgreich abschließen kann, versucht es, die Auswirkungen der Transaktion abzubrechen und 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 mithilfe des Transaktionsbereichs

Beschreibt, wie der System.Transactions Namespace das Erstellen impliziter Transaktionen mithilfe der TransactionScope Klasse unterstützt.

Implementieren einer expliziten Transaktion mit CommittableTransaction

Beschreibt, wie der System.Transactions Namespace das Erstellen expliziter Transaktionen mithilfe der CommittableTransaction Klasse unterstützt.

Eskalieren der Transaktionsverwaltung

Wenn eine Transaktion auf eine Ressource in einer anderen Anwendungsdomäne zugreifen muss oder wenn Sie sich in einem anderen dauerhaften Ressourcen-Manager anmelden möchten, wird die Transaktion automatisch eskaliert, um vom MSDTC verwaltet zu werden. Die Transaktionseskalation wird im Thema "Transaktionsverwaltungseskalation " behandelt.

Konkurrenz

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

Das Thema "Interoperabilität mit Enterprise Services" und "COM+-Transaktionen" veranschaulicht, wie Sie Ihre verteilten Transaktionen mit COM+-Transaktionen interagieren können.

Diagnostik

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 "Using System.Transactions" in ASP.NET wird beschrieben, wie Sie innerhalb einer ASP.NET Anwendung erfolgreich verwenden System.Transactions können.