System.Transactions Espace de noms

Contient des classes qui vous permettent d’écrire votre propre application transactionnelle et votre propre gestionnaire de ressources. Plus précisément, vous pouvez créer et participer à une transaction (locale ou distribuée) avec un ou plusieurs participants.

Classes

CommittableTransaction

Décrit une transaction pouvant être validée.

DependentTransaction

Décrit un clone d'une transaction qui garantit que la transaction ne peut pas être validée tant que l'application n'a pas fini son travail sur la transaction. Cette classe ne peut pas être héritée.

DistributedTransactionPermission

Autorisation qui est demandée par System.Transactions lorsque la gestion d'une transaction est remontée au MSDTC. Cette classe ne peut pas être héritée.

DistributedTransactionPermissionAttribute

Permet d’appliquer les actions de sécurité de DistributedTransactionPermission au code à l’aide de la sécurité déclarative. Cette classe ne peut pas être héritée.

Enlistment

Facilite la communication entre un participant de transaction inscrit et le gestionnaire de transactions pendant la phase finale de la transaction.

PreparingEnlistment

Facilite la communication entre un participant de transaction inscrit et le gestionnaire de transactions pendant la phase de préparation de la transaction.

SinglePhaseEnlistment

Fournit un jeu des rappels qui facilite la communication entre un participant inscrit pour une validation à phase unique et le gestionnaire de transactions lorsque la notification SinglePhaseCommit(SinglePhaseEnlistment) est reçue.

SubordinateTransaction

Représente une transaction non associée à une racine qui peut être déléguée. Cette classe ne peut pas être héritée.

Transaction

Représente une transaction.

TransactionAbortedException

Exception qui est levée lorsqu'une opération est tentée sur une transaction qui a déjà été restaurée ou lorsqu'une tentative est faite pour valider la transaction et que la transaction est abandonnée.

TransactionEventArgs

Fournit des données pour les événements de transaction suivants : DistributedTransactionStarted, TransactionCompleted.

TransactionException

Exception qui est levée lorsque vous essayez de faire du travail sur une transaction qui ne peut pas accepter de nouveau travail.

TransactionInDoubtException

Exception qui est levée lorsqu'une opération est tentée sur une transaction qui est dans le doute ou lorsqu'une tentative est faite pour valider la transaction et que la transaction devient InDoubt.

TransactionInformation

Fournit des informations supplémentaires sur une transaction.

TransactionInterop

Facilite l'interaction entre System.Transactions et les composants qui ont été écrits précédemment pour interagir avec MSDTC, COM+ ou System.EnterpriseServices. Cette classe ne peut pas être héritée.

TransactionManager

Contient des méthodes utilisées pour la gestion des transactions. Cette classe ne peut pas être héritée.

TransactionManagerCommunicationException

Exception levée lorsqu'un gestionnaire de ressources ne peut pas communiquer avec le gestionnaire de transactions.

TransactionPromotionException

Exception levée lorsqu'une promotion échoue.

TransactionScope

Rend un bloc de code transactionnel. Cette classe ne peut pas être héritée.

Structures

TransactionOptions

Contient des informations supplémentaires qui spécifient les comportements de transaction.

Interfaces

IDtcTransaction

Décrit une transaction DTC.

IEnlistmentNotification

Décrit une interface qu’un gestionnaire de ressources devrait implémenter pour fournir au gestionnaire des transactions des rappels de notification de validation à deux phases lors de l’inscription pour participation.

IPromotableSinglePhaseNotification

Décrit un objet qui sert de délégué de validation pour une transaction non distribuée interne à un gestionnaire de ressources.

ISimpleTransactionSuperior

Représente une transaction qui n'est pas une transaction de racine, mais peut être remontée pour être gérée par le MSDTC.

ISinglePhaseNotification

Décrit un objet de ressource qui prend en charge l’optimisation de la validation en une phase dans une transaction.

ITransactionPromoter

Décrit une transaction déléguée pour une transaction existante qui peut être remontée pour être gérée par le MSDTC, si nécessaire.

Énumérations

DependentCloneOption

Contrôle le type de transaction dépendante à créer.

EnlistmentOptions

Détermine si l'objet doit être inscrit pendant la phase de préparation.

EnterpriseServicesInteropOption

Spécifie comment les transactions distribuées interagissent avec les transactions COM+.

IsolationLevel

Spécifie le niveau d'isolement d'une transaction.

TransactionScopeAsyncFlowOption

Spécifie si le flux de transaction entre les continuations de thread est activé pour TransactionScope.

TransactionScopeOption

Fournit des options supplémentaires pour créer une portée de transaction.

TransactionStatus

Décrit l'état en cours d'une transaction distribuée.

Délégués

HostCurrentTransactionCallback

Fournit un mécanisme à l'environnement d'hébergement pour qu'il fournisse sa propre notion par défaut de Current.

TransactionCompletedEventHandler

Représente la méthode qui gère l'événement TransactionCompleted d'une classe Transaction.

TransactionStartedEventHandler

Représente la méthode destinée à gérer l’événement DistributedTransactionStarted d’une classe TransactionManager.

Remarques

L’infrastructure System.Transactions rend la programmation transactionnelle simple et efficace sur l’ensemble de la plateforme en prenant en charge les transactions lancées dans SQL Server, ADO.NET, MSMQ et MSDTC (Microsoft Distributed Transaction Coordinator). Il fournit à la fois un modèle de programmation explicite basé sur la Transaction classe, ainsi qu’un modèle de programmation implicite utilisant la TransactionScope classe , dans lequel les transactions sont gérées automatiquement par l’infrastructure. Il est vivement recommandé d’utiliser le modèle implicite plus simple pour le développement. Pour commencer, consultez la rubrique Implémentation d’une transaction implicite à l’aide de l’étendue de transaction . Pour plus d’informations sur l’écriture d’une application transactionnelle, consultez Écriture d’une application transactionnelle.

System.Transactions fournit également des types permettant d’implémenter un gestionnaire de ressources. Le gestionnaire de transactions natif de l’infrastructure System.Transactions permet aux ressources volatiles ou à une seule inscription de ressource durable de valider ou de restaurer efficacement. Pour plus d’informations sur l’implémentation d’un gestionnaire de ressources, consultez Implémentation d’un Resource Manager.

Le gestionnaire de transactions réaffecte également de manière transparente les transactions locales aux transactions distribuées en les coordonnant via un gestionnaire de transactions sur disque comme le DTC, lorsqu’un gestionnaire de ressources durables supplémentaire s’inscrit auprès d’une transaction. L'infrastructure System.Transactions offre deux façons principales d'obtenir des performances améliorées.

  • Escalade dynamique, ce qui signifie que l’infrastructure System.Transactions n’engage le MSDTC que lorsqu’il est réellement nécessaire pour une transaction. Cette zone est traitée en détail dans la rubrique Escalade de la gestion des transactions.

  • Les inscriptions pouvant être promues, qui permettent à une ressource, telle qu’une base de données, de prendre possession de la transaction, s’il s’agit de la seule entité participant à la transaction. Plus tard, si nécessaire, l’infrastructure System.Transactions peut toujours remonter la gestion de la transaction à MSDTC. Cela réduit encore la nécessité d'utiliser le MSDTC. Cette zone est traitée en détail dans la rubrique Optimisation à l’aide de la validation à phase unique et de la notification à phase unique pouvant être promotionnelle.

Pour plus d’informations sur l’utilisation de l’espace System.Transactions de noms, consultez Traitement des transactions.