System.Transactions Naamruimte
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Bevat klassen waarmee u uw eigen transactionele toepassing en Resource Manager kunt schrijven. U kunt met name een transactie maken en eraan deelnemen (lokaal of gedistribueerd) met een of meerdere deelnemers.
Klassen
| Name | Description |
|---|---|
| CommittableTransaction |
Beschrijft een doorvoerbare transactie. |
| DependentTransaction |
Beschrijft een kloon van een transactie die garantie biedt dat de transactie niet kan worden doorgevoerd totdat de toepassing in rust komt met betrekking tot het werk aan de transactie. Deze klasse kan niet worden overgenomen. |
| DistributedTransactionPermission |
De machtiging die wordt gevraagd System.Transactions wanneer het beheer van een transactie wordt geëscaleerd naar MSDTC. Deze klasse kan niet worden overgenomen. |
| DistributedTransactionPermissionAttribute |
Hiermee kunnen beveiligingsacties DistributedTransactionPermission worden toegepast op code met behulp van declaratieve beveiliging. Deze klasse kan niet worden overgenomen. |
| Enlistment |
Vereenvoudigt de communicatie tussen een ingeschreven transactiedeelnemer en de transactiemanager tijdens de laatste fase van de transactie. |
| PreparingEnlistment |
Vereenvoudigt de communicatie tussen een ingeschreven transactiedeelnemer en de transactiemanager tijdens de voorbereidingsfase van de transactie. |
| SinglePhaseEnlistment |
Biedt een set callbacks waarmee de communicatie tussen een deelnemer die is ingeschreven voor doorvoeren in één fase en de transactiebeheerder, mogelijk maakt wanneer de SinglePhaseCommit(SinglePhaseEnlistment) melding wordt ontvangen. |
| SubordinateTransaction |
Vertegenwoordigt een niet-geroote transactie die kan worden gedelegeerd. Deze klasse kan niet worden overgenomen. |
| Transaction |
Vertegenwoordigt een transactie. |
| TransactionAbortedException |
De uitzondering die wordt gegenereerd wanneer een bewerking wordt uitgevoerd op een transactie die al is teruggedraaid, of een poging wordt gedaan om de transactie vast te leggen en de transactie wordt afgebroken. |
| TransactionEventArgs |
Biedt gegevens voor de volgende transactie-gebeurtenissen: DistributedTransactionStarted, TransactionCompleted. |
| TransactionException |
De uitzondering die wordt gegenereerd wanneer u probeert te werken aan een transactie die geen nieuw werk kan accepteren. |
| TransactionInDoubtException |
De uitzondering die wordt gegenereerd wanneer een bewerking wordt uitgevoerd op een transactie die twijfelt, of een poging wordt gedaan om de transactie vast te leggen en de transactie wordt InDoubt. |
| TransactionInformation |
Biedt aanvullende informatie over een transactie. |
| TransactionInterop |
Vereenvoudigt de interactie tussen System.Transactions en onderdelen die eerder zijn geschreven om te communiceren met MSDTC, COM+of System.EnterpriseServices. Deze klasse kan niet worden overgenomen. |
| TransactionManager |
Bevat methoden die worden gebruikt voor transactiebeheer. Deze klasse kan niet worden overgenomen. |
| TransactionManagerCommunicationException |
De uitzondering die wordt gegenereerd wanneer een Resource Manager niet kan communiceren met de transactiebeheerder. |
| TransactionPromotionException |
De uitzondering die wordt gegenereerd wanneer een promotie mislukt. |
| TransactionScope |
Maakt een codeblok transactioneel. Deze klasse kan niet worden overgenomen. |
Structs
| Name | Description |
|---|---|
| TransactionOptions |
Bevat aanvullende informatie waarmee transactiegedrag wordt opgegeven. |
Interfaces
| Name | Description |
|---|---|
| IDtcTransaction |
Beschrijft een DTC-transactie. |
| IEnlistmentNotification |
Beschrijft een interface die een Resource Manager moet implementeren om callbacks voor doorvoermeldingen voor de transactiebeheerder twee fasen te bieden wanneer deze wordt ingeschreven voor deelname. |
| IPromotableSinglePhaseNotification |
Beschrijft een object dat fungeert als een doorvoerdelegering voor een niet-gedistribueerde transactie intern voor een resourcemanager. |
| ISimpleTransactionSuperior |
Vertegenwoordigt een transactie die geen hoofdtransactie is, maar kan worden geëscaleerd om te worden beheerd door de MSDTC. |
| ISinglePhaseNotification |
Beschrijft een resourceobject dat optimalisatie van één fase doorvoer ondersteunt om deel te nemen aan een transactie. |
| ITransactionPromoter |
Beschrijft een gedelegeerde transactie voor een bestaande transactie die indien nodig kan worden beheerd door de MSDTC. |
Enums
| Name | Description |
|---|---|
| DependentCloneOption |
Bepaalt welk type afhankelijke transactie moet worden gemaakt. |
| EnlistmentOptions |
Bepaalt of het object moet worden ingeschreven tijdens de voorbereidingsfase. |
| EnterpriseServicesInteropOption |
Hiermee geeft u op hoe gedistribueerde transacties communiceren met COM+ transacties. |
| IsolationLevel |
Hiermee geeft u het isolatieniveau van een transactie op. |
| TransactionScopeAsyncFlowOption |
Hiermee geeft u op of de transactiestroom voor threadvervolgingen is ingeschakeld TransactionScope. |
| TransactionScopeOption |
Biedt aanvullende opties voor het maken van een transactiebereik. |
| TransactionStatus |
Beschrijft de huidige status van een gedistribueerde transactie. |
Gedelegeerden
| Name | Description |
|---|---|
| HostCurrentTransactionCallback |
Biedt een mechanisme voor de hostingomgeving om een eigen standaardbegrip van Current. |
| TransactionCompletedEventHandler |
Vertegenwoordigt de methode die de TransactionCompleted gebeurtenis van een Transaction klasse afhandelt. |
| TransactionStartedEventHandler |
Vertegenwoordigt de methode die de DistributedTransactionStarted gebeurtenis van een TransactionManager klasse afhandelt. |
Opmerkingen
De System.Transactions-infrastructuur maakt transactionele programmering eenvoudig en efficiënt gedurende het hele platform door ondersteunende transacties te ondersteunen die zijn geïnitieerd in SQL Server, ADO.NET, MSMQ en de Microsoft Distributed Transaction Coordinator (MSDTC). Het biedt zowel een expliciet programmeermodel op basis van de Transaction klasse als een impliciet programmeermodel met behulp van de TransactionScope klasse, waarin transacties automatisch worden beheerd door de infrastructuur. Het wordt ten zeerste aanbevolen om het eenvoudigere impliciete model te gebruiken voor ontwikkeling. Zie het onderwerp Een impliciete transactie implementeren met behulp van transactiebereik om aan de slag te gaan. Zie Een transactionele toepassing schrijven voor meer informatie over het schrijven van een transactionele toepassing.
System.Transactions biedt ook typen waarmee u een resourcemanager kunt implementeren. Met de transaction manager die systeemeigen is voor de System.Transactions infrastructuur, kunnen vluchtige resources of één duurzame resource-opname efficiënt worden doorgevoerd of teruggedraaid. Zie Implementing A Resource Manager voor meer informatie over het implementeren van een resource manager.
De transactiebeheerder escaleert ook op transparante wijze lokale transacties naar gedistribueerde transacties door te coördineren via een transactiebeheerder op basis van schijven, zoals de DTC, wanneer een extra duurzame Resource Manager zichzelf inschrijft met een transactie. Er zijn twee belangrijke manieren waarop de System.Transactions infrastructuur verbeterde prestaties biedt.
Dynamische escalatie, wat betekent dat de
System.Transactionsinfrastructuur alleen de MSDTC inschakelt wanneer deze daadwerkelijk vereist is voor een transactie. Dit gebied wordt uitgebreid besproken in het onderwerp Over escalatie van transactiebeheer .Promotable Enlistments, waarmee een resource, zoals een database, eigenaar kan worden van de transactie als het de enige entiteit is die deelneemt aan de transactie. Later, indien nodig, kan de
System.Transactionsinfrastructuur het beheer van de transactie nog steeds escaleren naar MSDTC. Dit vermindert de kans op het gebruik van de MSDTC verder. Dit gebied wordt uitgebreid besproken in het onderwerp Optimalisatie met behulp van single phase commit en promotable single phase notification topic.
Zie Transactieverwerking voor meer informatie over het gebruik van de System.Transactions naamruimte.