System.Transactions Espace de noms
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 initiées dans SQL Server, ADO.NET, MSMQ et microsoft Distributed Transaction Coordinator (MSDTC). 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 inscription unique de ressources durables de valider ou de restaurer efficacement. Pour plus d’informations sur l’implémentation d’un gestionnaire de ressources, consultez Implémentation d’un gestionnaire de ressources.
Le gestionnaire de transactions fait également remonter de manière transparente les transactions locales aux transactions distribuées en se 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 transmettre 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 d’une validation monophase et d’une notification de phase unique promotable .
Pour plus d’informations sur l’utilisation de l’espace System.Transactions
de noms, consultez Traitement des transactions.