Delen via


Kenmerken geleverd door System.Transactions

In deze sectie wordt beschreven hoe u de functies van de System.Transactions naamruimte kunt gebruiken om uw eigen transactionele toepassing en Resource Manager te schrijven. In deze sectie wordt beschreven hoe u een transactie maakt en hieraan deelneemt (lokaal of gedistribueerd) met een of meer deelnemers.

Overzicht van System.Transactions

De infrastructuur van de klassen in de System.Transactions naamruimte maakt transactionele programmering eenvoudig en efficiënt door ondersteunende transacties die zijn geïnitieerd in SQL Server, ADO.NET, Message Queuing (MSMQ) en de Microsoft Distributed Transaction Coordinator (MSDTC). De System.Transactions naamruimte 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. Zie Een transactionele toepassing schrijven voor meer informatie over het maken van een transactionele toepassing met behulp van deze twee modellen.

De System.Transactions naamruimte biedt ook typen waarmee u een Resource Manager kunt implementeren. Een resourcemanager beheert duurzame of vluchtige gegevens die worden gebruikt in een transactie en werkt samen met de transactiebeheerder om de toepassing een garantie te bieden voor atomiciteit en isolatie. De transactiebeheerder die wordt geleverd door de System.Transactions infrastructuur ondersteunt transacties met meerdere vluchtige resources of één duurzame resource. Zie Een Resource Manager implementeren voor meer informatie over het implementeren van een Resource Manager.

De transactiebeheerder escaleert ook transparant lokale transacties naar gedistribueerde transacties door te coördineren met een schijfgebaseerde transactiebeheerder, 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.

De System.Transactions naamruimte definieert drie vertrouwensniveaus: AllowPartiallyTrustedCallers (APTCA), DistributedTransactionPermission (DTP) en volledige vertrouwensrelatie, waarmee de toegang wordt beperkt tot de typen resources die worden weergegeven. Zie Beveiligingsvertrouwensniveaus voor toegang tot resources voor meer informatie over de verschillende vertrouwensniveaus.

In deze sectie

Een transactionele toepassing schrijven

De System.Transactions naamruimte biedt twee modellen voor het maken van transactionele toepassingen. Het implementeren van een impliciete transactie met behulp van transactiebereik beschrijft hoe de System.Transactions naamruimte het maken van impliciete transacties ondersteunt met behulp van de TransactionScope klasse.

Het implementeren van een expliciete transactie met behulp van CommittableTransaction beschrijft hoe de System.Transactions naamruimte het maken van expliciete transacties met behulp van de CommittableTransaction klasse ondersteunt.

Zie Een transactionele toepassing schrijven voor aanvullende onderwerpen over het schrijven van een transactionele toepassing.

Een Resource Manager implementeren

Zie Een Resource Manager implementeren om een resourcemanager te implementeren die kan deelnemen aan een transactie. Deze sectie bevat informatie over de opname van een resource, het doorvoeren van een transactie, het herstel na een fout en de aanbevolen procedures voor optimalisatie.