System.Transactions Namespace
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Enthält Klassen, mit denen eigene Transaktionsanwendungen und Ressourcen-Manager geschrieben werden können. Insbesondere können Sie eine Transaktion erstellen und an einer Transaktion (lokal oder verteilt) mit einem oder mehreren Teilnehmern teilnehmen.
Klassen
CommittableTransaction |
Beschreibt eine Transaktion, für die ein Commit ausgeführt werden kann. |
DependentTransaction |
Beschreibt einen Klon einer Transaktion und gewährleistet, dass kein Commit der Transaktion ausgeführt werden kann, solange die Anwendung bezüglich der Transaktion noch aktiv ist. Diese Klasse kann nicht vererbt werden. |
DistributedTransactionPermission |
Die Berechtigung, die von System.Transactions gefordert wird, wenn die Verwaltung einer Transaktion an MSDTC eskaliert wird. Diese Klasse kann nicht vererbt werden. |
DistributedTransactionPermissionAttribute |
Ermöglicht, dass Sicherheitsaktionen für DistributedTransactionPermission unter Verwendung deklarativer Sicherheit auf Code angewendet werden. Diese Klasse kann nicht vererbt werden. |
Enlistment |
Erleichtert die Kommunikation zwischen einem eingetragenen Transaktionsteilnehmer und dem Transaktions-Manager während der letzten Phase der Transaktion. |
PreparingEnlistment |
Erleichtert die Kommunikation zwischen einem eingetragenen Transaktionsteilnehmer und dem Transaktions-Manager in der Vorbereitungsphase der Transaktion. |
SinglePhaseEnlistment |
Stellt eine Reihe von Rückrufen bereit, die die Kommunikation zwischen einem für einen Einphasencommit eingetragenen Teilnehmer und dem Transaktions-Manager fördern, wenn die SinglePhaseCommit(SinglePhaseEnlistment)-Benachrichtigung empfangen wird. |
SubordinateTransaction |
Stellt eine Transaktion dar, die keine Stammtransaktion ist, aber delegiert werden kann. Diese Klasse kann nicht vererbt werden. |
Transaction |
Stellt eine Transaktion dar. |
TransactionAbortedException |
Die Ausnahme, die ausgelöst wird, wenn ein Vorgang für eine Transaktion ausgeführt wird, für die bereits ein Rollback ausgeführt wurde, oder wenn versucht wird, einen Commit der Transaktion auszuführen und die Transaktion abgebrochen wird. |
TransactionEventArgs |
Stellt Daten für die folgenden Transaktionsereignisse bereit: DistributedTransactionStarted, TransactionCompleted. |
TransactionException |
Die Ausnahme, die ausgelöst wird, wenn Sie Vorgänge für eine Transaktion ausführen, die keine weiteren Aktionen akzeptieren kann. |
TransactionInDoubtException |
Die Ausnahme, die ausgelöst wird, wenn ein Vorgang für eine Transaktion ausgeführt wird, die zweifelhaft ist, oder wenn versucht wird, die Transaktion auszuführen und die Transaktion den Status InDoubt annimmt. |
TransactionInformation |
Stellt zusätzliche Informationen zu einer Transaktion bereit. |
TransactionInterop |
Erleichtert die Interaktion zwischen System.Transactions und Komponenten, die geschrieben wurden, um mit MSDTC, COM+ oder System.EnterpriseServices zu interagieren. Diese Klasse kann nicht vererbt werden. |
TransactionManager |
Enthält zum Verwalten von Transaktionen verwendete Methoden. Diese Klasse kann nicht vererbt werden. |
TransactionManagerCommunicationException |
Diese Ausnahme wird ausgelöst, wenn die Kommunikation zwischen Ressourcen-Manager und Transaktions-Manager nicht möglich ist. |
TransactionPromotionException |
Die Ausnahme, die ausgelöst wird, wenn eine Heraufstufung fehlschlägt. |
TransactionScope |
Ändert einen Codeblock in transaktional. Diese Klasse kann nicht vererbt werden. |
Strukturen
TransactionOptions |
Enthält zusätzliche Informationen, die das Transaktionsverhalten bestimmen. |
Schnittstellen
IDtcTransaction |
Beschreibt eine DTC-Transaktion. |
IEnlistmentNotification |
Beschreibt eine Schnittstelle, die ein Ressourcen-Manager implementieren sollte, um beim Eintragen für die Teilnahme Zweiphasencommit-Benachrichtigungsrückrufe für den Transaktions-Manager bereitzustellen. |
IPromotableSinglePhaseNotification |
Beschreibt ein Objekt, das als Commit-Delegat für eine nicht verteilte Transaktion in einem Ressourcen-Manager fungiert. |
ISimpleTransactionSuperior |
Stellt eine Transaktion dar, bei der es sich um keine Stammtransaktion handelt, deren Verwaltung jedoch an MSDTC eskaliert werden kann. |
ISinglePhaseNotification |
Beschreibt ein Ressourcenobjekt, das die Einphasencommit-Optimierung für die Einbeziehung in eine Transaktion unterstützt. |
ITransactionPromoter |
Beschreibt eine delegierte Transaktion für eine vorhandene Transaktion, deren Verwaltung bei Bedarf an MSDTC eskaliert werden kann. |
Enumerationen
DependentCloneOption |
Steuert, welche Art von abhängiger Transaktion erstellt werden soll. |
EnlistmentOptions |
Bestimmt, ob das Objekt während der Vorbereitungsphase eingetragen werden soll. |
EnterpriseServicesInteropOption |
Gibt an, wie verteilte Transaktionen mit COM+-Transaktionen interagieren. |
IsolationLevel |
Gibt die Isolationsebene einer Transaktion an. |
TransactionScopeAsyncFlowOption |
Gibt an, ob Transaktionsfluss über Thread Fortsetzungen für TransactionScope aktiviert ist. |
TransactionScopeOption |
Stellt zusätzliche Optionen für das Erstellen eines Transaktionsbereichs bereit. |
TransactionStatus |
Beschreibt den aktuellen Status einer verteilten Transaktion. |
Delegaten
HostCurrentTransactionCallback |
Stellt für die Hostumgebung einen Mechanismus zur Verfügung, mit der sie ihr Standardkonzept von Current bereitstellen kann. |
TransactionCompletedEventHandler |
Stellt die Methode dar, die das TransactionCompleted-Ereignis einer Transaction-Klasse behandelt. |
TransactionStartedEventHandler |
Stellt die Methode dar, die das DistributedTransactionStarted-Ereignis einer TransactionManager-Klasse behandelt. |
Hinweise
Die System.Transactions
Infrastruktur macht die Transaktionsprogrammierung auf der gesamten Plattform einfach und effizient, indem Transaktionen unterstützt werden, die in SQL Server, ADO.NET, MSMQ und dem Microsoft Distributed Transaction Coordinator (MSDTC) initiiert wurden. Es stellt sowohl ein explizites Programmiermodell basierend auf der Transaction -Klasse als auch ein implizites Programmiermodell unter Verwendung der TransactionScope -Klasse bereit, in dem Transaktionen automatisch von der Infrastruktur verwaltet werden. Es wird dringend empfohlen, das einfachere implizite Modell für die Entwicklung zu verwenden. Informationen zu den ersten Schritten finden Sie im Thema Implementieren einer impliziten Transaktion mithilfe des Transaktionsbereichs . Weitere Informationen zum Schreiben einer Transaktionsanwendung finden Sie unter Schreiben einer Transaktionsanwendung.
System.Transactions
stellt außerdem Typen zum Implementieren eines Ressourcen-Managers bereit. Der für die System.Transactions
Infrastruktur native Transaktions-Manager ermöglicht es flüchtigen Ressourcen oder einer einzelnen dauerhaften Ressourceneinlistung, einen effizienten Commit oder rollback zu ermöglichen. Weitere Informationen zum Implementieren eines Ressourcen-Managers finden Sie unter Implementieren eines Ressourcen-Managers.
Der Transaktions-Manager eskaliert auch transparent lokale Transaktionen in verteilte Transaktionen, indem er über einen datenträgerbasierten Transaktions-Manager wie den DTC koordiniert, wenn sich ein zusätzlicher dauerhafter Ressourcen-Manager mit einer Transaktion registriert. Es gibt zwei grundlegende Methoden, mit der System.Transactions
-Infrastruktur eine verbesserte Leistung zu erreichen.
Dynamische Eskalation, was bedeutet, dass die
System.Transactions
Infrastruktur den MSDTC nur dann anwendet, wenn sie für eine Transaktion tatsächlich erforderlich ist. Dieser Bereich wird im Thema Eskalation des Transaktionsmanagements ausführlich behandelt.Erweiterbare Eintragungen: Ermöglichen es einer Ressource (z.B. einer Datenbank), Eigentümer der Transaktion zu werden, wenn sie die einzige Entität ist, die an der Transaktion teilnimmt. Später, falls erforderlich, kann die
System.Transactions
Infrastruktur die Verwaltung der Transaktion noch an MSDTC eskalieren. Auch dies reduziert die Zahl der Fälle, in denen MSDTC verwendet wird. Dieser Bereich wird ausführlich im Thema Optimierung mithilfe von Single Phase Commit und Promotable Single Phase Notification behandelt.
Weitere Informationen zur Verwendung des System.Transactions
Namespace finden Sie unter Transaktionsverarbeitung.