System.Transactions Espace de noms

Contient des classes qui vous permettent d’écrire vos propres 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

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' System.Transactions infrastructure rend la programmation transactionnelle simple et efficace tout au long de la plateforme en prenant en charge les transactions lancé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 fortement 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 d’une étendue de transaction . Pour plus d’informations sur l’écriture d’une application transactionnelle, consultez écriture d’une application transactionnelle.

System.Transactions fournit également les types vous permettant d’implémenter un gestionnaire de ressources. Le gestionnaire de transactions natif pour l' System.Transactions infrastructure autorise des ressources volatiles ou une inscription de ressource durable unique pour valider ou restaurer efficacement. Pour plus d’informations sur l’implémentation d’un gestionnaire de ressources, consultez implémentation d’un gestionnaire des ressources.

Le gestionnaire de transactions réaffecte en toute transparence les transactions locales aux transactions distribuées en coordonnant via un gestionnaire de transactions sur disque comme le DTC, lorsqu’un gestionnaire de ressources durable 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' System.Transactions infrastructure n’a besoin que du MSDTC lorsqu’il est réellement requis pour une transaction. Cette zone est traitée en détail dans la rubrique remontée 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' System.Transactions infrastructure peut toujours faire remonter la gestion de la transaction vers 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 promue .

System.Transactions définit trois niveaux d’approbation qui restreignent l’accès aux types de ressources qu’il expose. Plus précisément, l’assembly System. transactions peut être appelé par du code d’un niveau de confiance partiel, car il a été marqué avec l' AllowPartiallyTrustedCallers attribut (APTCA). Cet attribut supprime le champ LinkDemand implicite pour le jeu d'autorisations FullTrust, qui est habituellement automatiquement placé sur les méthodes accessibles publiquement de chaque type. Toutefois, certains types et membres requièrent encore des autorisations plus élevées.

La liste suivante répertorie les types et les membres qui ne peuvent pas être appelés par du code d’un niveau de confiance partiel, car ils sont décorés avec l’attribut de sécurité déclaratif suivant :

PermissionSetAttribute(SecurityAction.LinkDemand, Name := "FullTrust")

System. transactions. transaction. EnlistDurable

System. transactions. transaction. EnlistPromotableSinglePhase

System. transactions. TransactionInterop

System. transactions. TransactionManager. DistributedTransactionStarted

System. transactions. TransactionManager. HostCurrentTransactionCallback

System. transactions. TransactionManager. reinscrire

System. transactions. TransactionManager. RecoveryComplete

System. transactions. TransactionScope. TransactionScope (System. transactions. transaction, System. TimeSpan, System. transactions. EnterpriseServicesInteropOption)

M :System.Transactions.TransactionScope.TransactionScope (System. transactions. TransactionScopeOption, System. transactions. TransactionOptions, System. transactions. EnterpriseServicesInteropOption)

Pour plus d’informations sur les différents niveaux de confiance, consultez niveaux de confiance de sécurité dans accès aux ressources.

Développement de base Technologies\Data Access\Transaction traitement \

Pour plus d’informations sur l’utilisation de l' System.Transactions espace de noms, vous pouvez consulter le traitement des transactionsde documentation conceptuelle, situé sous la section « Core Development Technologies\Data Access\Transaction Processing \ » dans la documentation. Plus précisément, vous trouverez plus d’informations dans les rubriques suivantes.

Fonctionnalités fournies par System. transactions

Implémentation d'un gestionnaire des ressources