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.
|
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.
|
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.
|
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.
|
RequiresNew |
Gibt an, dass das Objekt eine Transaktion erfordert und dass für jede Anforderung eine neue Transaktion gestartet wird.
|
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
Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.