System.Transactions Naamruimte

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.Transactions infrastructuur 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.Transactions infrastructuur 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.