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 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.TransactionsInfrastruktur 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.TransactionsVerwaltung der Transaktion weiterhin an MSDTC eskalieren. Dadurch wird die Wahrscheinlichkeit der Verwendung des MSDTC weiter reduziert.