Automatische Transaktionen und .NET Framework-Klassen

Instanzen einer .NET Framework-Klasse können an automatischen Transaktionen teilnehmen, wenn die Klasse für diesen Vorgang vorbereitet wurde. Jede Ressource, auf die von einer Klasseninstanz oder einem Objekt zugegriffen wird, registriert sich in der Transaktion. Wenn ein Objekt beispielsweise mithilfe von ADO.NET Geld auf ein Konto in einer Datenbank bucht, bestimmt der Ressourcen-Manager für die Datenbank, ob das Objekt in einer Transaktion ausgeführt wird. Ist dies der Fall, wird die Datenbank automatisch in der Transaktion registriert.

Damit ein Objekt an einer Transaktion teilnimmt, wenden Sie das TransactionAttribute-Attribut auf dessen Klasse an. Beim Anwenden des Transaktionsattributs können Sie gleichwertig Transaction, transaction, TransactionAttribute oder transactionattribute verwenden.

Ausführliche Informationen über das Verfahren zum Vorbereiten einer Klasse für die Teilnahme an einer automatischen Transaktion finden Sie unter Verfahrensweise: Verwenden von automatischen Transaktionen in einer .NET Framework-Klasse.

Das Transaction-Attribut verwendet einen Konstruktor, der eine TransactionOption-Enumeration als Parameter akzeptiert. In der folgenden Tabelle sind die möglichen Werte für die TransactionOption-Enumeration aufgeführt.

Attributwert Beschreibung

Disabled

Beseitigt die Steuerung des Objekts durch automatische Transaktionen. Ein Objekt, auf das dieser Attributwert angewendet wird, kann direkt eine Verbindung mit DTC (Distributed Transaction Coordinator) herstellen, um Transaktionsunterstützung zu erhalten.

[Transaction(TransactionOption.Disabled)]

NotSupported

Gibt an, dass das Objekt nicht innerhalb des Bereichs von Transaktionen ausgeführt wird. Wenn eine Anforderung verarbeitet wird, wird deren Objektkontext ohne eine Transaktion erstellt, unabhängig davon, ob eine Transaktion aktiv ist.

[Transaction(TransactionOption.NotSupported)]

Supported

Gibt an, dass das Objekt im Kontext einer vorhandenen Transaktion ausgeführt wird – falls eine vorhanden ist. Ist keine Transaktion vorhanden, wird das Objekt ohne Transaktion ausgeführt.

[Transaction(TransactionOption.Supported)]

Required

(Standardeinstellung)

Gibt an, dass das Objekt eine Transaktion erfordert. Es wird im Bereich einer vorhandenen Transaktion ausgeführt – falls eine vorhanden ist. Ist keine Transaktion vorhanden, startet das Objekt eine.

[Transaction(TransactionOption.Required)]

RequiresNew

Gibt an, dass das Objekt eine Transaktion erfordert und dass für jede Anforderung eine neue Transaktion gestartet wird.

[Transaction(TransactionOption.RequiresNew)]

Siehe auch

Aufgaben

Verfahrensweise: Verwenden von automatischen Transaktionen in einer .NET Framework-Klasse

Konzepte

Abstimmen in einer automatischen Transaktion

Weitere Ressourcen

Schreiben von Serviced Components

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.