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 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
| Nom | Description |
|---|---|
| CommittableTransaction |
Décrit une transaction commitable. |
| DependentTransaction |
Décrit un clone d’une transaction fournissant une garantie que la transaction ne peut pas être validée tant que l’application ne sera pas mise au repos en ce qui concerne le travail sur la transaction. Cette classe ne peut pas être héritée. |
| DistributedTransactionPermission |
Autorisation demandée lors System.Transactions de l’escalade de la gestion d’une transaction à MSDTC. Cette classe ne peut pas être héritée. |
| DistributedTransactionPermissionAttribute |
Autorise l’application d’actions DistributedTransactionPermission de sécurité au code à l’aide d’une 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 ensemble de rappels qui facilitent la communication entre un participant inscrit pour la validation à phase unique et le gestionnaire de transactions lorsque la SinglePhaseCommit(SinglePhaseEnlistment) notification est reçue. |
| SubordinateTransaction |
Représente une transaction non rootée qui peut être déléguée. Cette classe ne peut pas être héritée. |
| Transaction |
Représente une transaction. |
| TransactionAbortedException |
Exception levée lorsqu’une opération est tentée sur une transaction qui a déjà été restaurée ou qu’une tentative est effectuée pour valider la transaction et l’abandon de la transaction. |
| TransactionEventArgs |
Fournit des données pour les événements de transaction suivants : DistributedTransactionStarted, TransactionCompleted. |
| TransactionException |
Exception levée lorsque vous tentez d’effectuer un travail sur une transaction qui ne peut pas accepter de nouveau travail. |
| TransactionInDoubtException |
Exception levée lorsqu’une opération est tentée sur une transaction qui est en doute ou qu’une tentative est effectuée pour valider la transaction et que la transaction devient InDoubt. |
| TransactionInformation |
Fournit des informations supplémentaires concernant une transaction. |
| TransactionInterop |
Facilite l’interaction entre System.Transactions les composants précédemment écrits 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 |
Crée un bloc de code transactionnel. Cette classe ne peut pas être héritée. |
Structures
| Nom | Description |
|---|---|
| TransactionOptions |
Contient des informations supplémentaires qui spécifient les comportements de transaction. |
Interfaces
| Nom | Description |
|---|---|
| IDtcTransaction |
Décrit une transaction DTC. |
| IEnlistmentNotification |
Décrit une interface qu’un gestionnaire de ressources doit implémenter pour fournir des rappels de notification de validation en deux phases pour le gestionnaire de transactions lors de l’inscription à la participation. |
| IPromotableSinglePhaseNotification |
Décrit un objet qui agit en tant que 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 racine, mais peut être réaffectée pour être gérée par le MSDTC. |
| ISinglePhaseNotification |
Décrit un objet de ressource qui prend en charge l’optimisation de validation par phase unique pour participer à une transaction. |
| ITransactionPromoter |
Décrit une transaction déléguée pour une transaction existante qui peut être réaffectée pour être gérée par msDTC si nécessaire. |
Énumérations
| Nom | Description |
|---|---|
| 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 la façon dont les transactions distribuées interagissent avec les transactions COM+. |
| IsolationLevel |
Spécifie le niveau d’isolation d’une transaction. |
| TransactionScopeAsyncFlowOption |
Spécifie si le flux de transaction entre les continuations de threads est activé pour TransactionScope. |
| TransactionScopeOption |
Fournit des options supplémentaires pour créer une étendue de transaction. |
| TransactionStatus |
Décrit l’état actuel d’une transaction distribuée. |
Délégués
| Nom | Description |
|---|---|
| HostCurrentTransactionCallback |
Fournit un mécanisme permettant à l’environnement d’hébergement de fournir sa propre notion par défaut de Current. |
| TransactionCompletedEventHandler |
Représente la méthode qui gère l’événement TransactionCompleted d’une Transaction classe. |
| TransactionStartedEventHandler |
Représente la méthode qui gère l’événement DistributedTransactionStarted d’une TransactionManager classe. |
Remarques
L’infrastructure System.Transactions rend la programmation transactionnelle simple et efficace dans toute la plateforme en prenant en charge les transactions lancées dans SQL Server, ADO.NET, MSMQ et le 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 à l’aide de la TransactionScope classe, dans laquelle les transactions sont automatiquement gérées par l’infrastructure. Il est vivement recommandé d’utiliser le modèle implicite plus facile pour le développement. Pour plus d’informations sur l’écriture d’une application transactionnelle, consultez Écriture d’une application transactionnelle.
System.Transactions fournit également des types pour vous permettre 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 ressources durables de valider ou de restaurer efficacement.
Le gestionnaire de transactions augmente également de manière transparente les transactions locales vers des transactions distribuées en coordonnant par le biais d’un gestionnaire de transactions sur disque comme le DTC, lorsqu’un gestionnaire de ressources durable supplémentaire s’inscrit à une transaction. L’infrastructure offre deux façons System.Transactions clés d’améliorer les performances.
L’escalade dynamique, ce qui signifie que l’infrastructure
System.Transactionsengage uniquement le MSDTC lorsqu’elle est réellement requise pour une transaction.Les enrôlements promouvables, qui permettent à une ressource, telle qu'une base de données, de prendre en charge la transaction à condition qu'elle soit la seule entité participant à ladite transaction. Plus tard, si nécessaire, l’infrastructure
System.Transactionspeut toujours augmenter la gestion de la transaction vers MSDTC. Cela réduit davantage le risque d’utilisation du MSDTC.