Freigeben über


System.Transactions Namespace

Enthält Klassen, mit denen Sie Ihre eigene Transaktionsanwendung und den Ressourcen-Manager schreiben können. Insbesondere können Sie eine Transaktion (lokal oder verteilt) mit einem oder mehreren Teilnehmern erstellen und daran teilnehmen.

Klassen

Name Beschreibung
CommittableTransaction

Beschreibt eine Committable-Transaktion.

DependentTransaction

Beschreibt einen Klon einer Transaktion, die eine Garantie bereitstellt, dass die Transaktion erst zugesichert werden kann, wenn die Anwendung in Bezug auf die Arbeit an der Transaktion zur Ruhe kommt. Diese Klasse kann nicht vererbt werden.

DistributedTransactionPermission

Die Berechtigung, die angefordert System.Transactions wird, wenn die Verwaltung einer Transaktion an MSDTC eskaliert wird. Diese Klasse kann nicht vererbt werden.

DistributedTransactionPermissionAttribute

Ermöglicht die Anwendung von Sicherheitsaktionen DistributedTransactionPermission auf Code mithilfe deklarativer Sicherheit. Diese Klasse kann nicht vererbt werden.

Enlistment

Erleichtert die Kommunikation zwischen einem aufgelisteten Transaktionsteilnehmer und dem Transaktionsmanager während der letzten Phase der Transaktion.

PreparingEnlistment

Erleichtert die Kommunikation zwischen einem aufgelisteten Transaktionsteilnehmer und dem Transaktionsmanager während der Vorbereitungsphase der Transaktion.

SinglePhaseEnlistment

Stellt eine Reihe von Rückrufen bereit, die die Kommunikation zwischen einem Teilnehmer erleichtern, der für einen einzelnen Phasen-Commit und den Transaktions-Manager aufgelistet wird, wenn die SinglePhaseCommit(SinglePhaseEnlistment) Benachrichtigung empfangen wird.

SubordinateTransaction

Stellt eine nicht gerootete Transaktion dar, die 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 versucht wird, die bereits zurückgesetzt wurde, oder ein Versuch unternommen wird, die Transaktion und die Transaktion abzubrechen.

TransactionEventArgs

Stellt Daten für die folgenden Transaktionsereignisse bereit: DistributedTransactionStarted, TransactionCompleted.

TransactionException

Die Ausnahme, die ausgelöst wird, wenn Sie versuchen, an einer Transaktion zu arbeiten, die keine neue Arbeit annehmen kann.

TransactionInDoubtException

Die Ausnahme, die ausgelöst wird, wenn ein Vorgang für eine Transaktion versucht wird, die zweifelhaft ist, oder ein Versuch unternommen wird, die Transaktion zu übernehmen, und die Transaktion wird zu InDoubt.

TransactionInformation

Stellt zusätzliche Informationen zu einer Transaktion bereit.

TransactionInterop

Erleichtert die Interaktion zwischen System.Transactions Komponenten und Komponenten, die zuvor für die Interaktion mit MSDTC, COM+ oder System.EnterpriseServicesgeschrieben wurden. Diese Klasse kann nicht vererbt werden.

TransactionManager

Enthält Methoden, die für die Transaktionsverwaltung verwendet werden. Diese Klasse kann nicht vererbt werden.

TransactionManagerCommunicationException

Die Ausnahme, die ausgelöst wird, wenn ein Ressourcenmanager nicht mit dem Transaktions-Manager kommunizieren kann.

TransactionPromotionException

Die Ausnahme, die ausgelöst wird, wenn eine Aktion fehlschlägt.

TransactionScope

Macht eine Codeblocktransaktion. Diese Klasse kann nicht vererbt werden.

Strukturen

Name Beschreibung
TransactionOptions

Enthält zusätzliche Informationen, die Transaktionsverhalten angeben.

Schnittstellen

Name Beschreibung
IDtcTransaction

Beschreibt eine DTC-Transaktion.

IEnlistmentNotification

Beschreibt eine Schnittstelle, die ein Ressourcenmanager implementieren sollte, um zwei Phasen-Commit-Benachrichtigungsrückrufe für den Transaktions-Manager bei der Teilnahmeeinführung bereitzustellen.

IPromotableSinglePhaseNotification

Beschreibt ein Objekt, das als Commitdelegat für eine nicht verteilte Transaktion intern für einen Ressourcen-Manager fungiert.

ISimpleTransactionSuperior

Stellt eine Transaktion dar, die keine Stammtransaktion ist, aber eskaliert werden kann, um vom MSDTC verwaltet zu werden.

ISinglePhaseNotification

Beschreibt ein Ressourcenobjekt, das die Optimierung des Commits für einzelne Phasen unterstützt, um an einer Transaktion teilzunehmen.

ITransactionPromoter

Beschreibt eine delegierte Transaktion für eine vorhandene Transaktion, die bei Bedarf von msDTC eskaliert werden kann.

Enumerationen

Name Beschreibung
DependentCloneOption

Steuert, welche Art von abhängiger Transaktion erstellt werden soll.

EnlistmentOptions

Bestimmt, ob das Objekt während der Vorbereitungsphase aufgelistet werden soll.

EnterpriseServicesInteropOption

Gibt an, wie verteilte Transaktionen mit COM+-Transaktionen interagieren.

IsolationLevel

Gibt die Isolationsebene einer Transaktion an.

TransactionScopeAsyncFlowOption

Gibt an, ob der Transaktionsfluss über Threadfortsetzungen für TransactionScopeaktiviert ist.

TransactionScopeOption

Bietet zusätzliche Optionen zum Erstellen eines Transaktionsbereichs.

TransactionStatus

Beschreibt den aktuellen Status einer verteilten Transaktion.

Delegaten

Name Beschreibung
HostCurrentTransactionCallback

Stellt einen Mechanismus für die Hostingumgebung bereit, um einen eigenen Standardbegriff bereitzustellen Current.

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 transaktionsübergreifende Programmierung einfach und effizient, indem Transaktionen unterstützt werden, die in SQL Server, ADO.NET, MSMQ und der Microsoft Distributed Transaction Coordinator (MSDTC) initiiert wurden. Es stellt sowohl ein explizites Programmiermodell basierend auf der Transaction Klasse als auch ein implizites Programmiermodell mithilfe 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. Weitere Informationen zum Schreiben einer Transaktionsanwendung finden Sie unter Writing A Transactional Application.

System.Transactions stellt außerdem Typen bereit, mit deren Unterstützung Sie einen Ressourcen-Manager implementieren können. Der transaktionsmanager, der für die System.Transactions Infrastruktur nativ ist, ermöglicht veränderliche Ressourcen oder eine einzelne dauerhafte Ressourcenliste, um einen Commit oder einen effizienten Rollback durchzuführen.

Der Transaktionsmanager eskaliert auch transparent lokale Transaktionen an verteilte Transaktionen, indem er über einen datenträgerbasierten Transaktionsmanager wie den DTC koordiniert wird, wenn sich ein zusätzlicher dauerhafter Ressourcenmanager mit einer Transaktion anmeldet. Es gibt zwei wichtige Möglichkeiten, wie die System.Transactions Infrastruktur eine verbesserte Leistung bietet.

  • Dynamische Eskalation, was bedeutet, dass die System.Transactions Infrastruktur nur die MSDTC verwendet, wenn sie tatsächlich für eine Transaktion erforderlich ist.

  • Promotable Enlistments, mit denen eine Ressource, z. B. eine Datenbank, den Besitz der Transaktion übernehmen kann, wenn es sich um die einzige Entität handelt, die an der Transaktion teilnimmt. Bei Bedarf kann die Infrastruktur die System.Transactions Verwaltung der Transaktion weiterhin an MSDTC eskalieren. Dadurch wird die Wahrscheinlichkeit der Verwendung des MSDTC weiter reduziert.