Vue d’ensemble des transactions Windows Communication Foundation

Les transactions fournissent un moyen de regrouper un ensemble d’actions ou d’opérations dans une seule unité d’exécution synchrone. Une transaction est une collection d’opérations avec les propriétés suivantes :

  • Atomicité. Cela garantit que toutes les mises à jour effectuées sous une transaction spécifique sont validées et rendues durables ou qu’elles sont abandonnées et restaurées à leur état précédent.

  • Cohérence. Cela garantit que les modifications apportées sous une transaction représentent une transformation d’un état cohérent à un autre. Par exemple, une transaction qui transfère l’argent d’un compte de contrôle à un compte d’épargne ne modifie pas le montant de l’argent dans le compte bancaire global.

  • Isolement : Cela empêche une transaction d’observer les modifications non validées appartenant à d’autres transactions simultanées. L’isolation fournit une abstraction de la concurrence tout en garantissant qu’une transaction ne peut pas avoir un impact inattendu sur l’exécution d’une autre transaction.

  • Durabilité. Cela signifie qu’une fois validées, les mises à jour apportées aux ressources gérées (par exemple, un enregistrement de base de données) sont persistantes face aux défaillances.

Windows Communication Foundation (WCF) fournit un ensemble complet de fonctionnalités qui vous permettent de créer des transactions distribuées dans votre application de service web.

WCF implémente la prise en charge du protocole WS-AtomicTransaction (WS-AT) qui permet aux applications WCF de transmettre des transactions vers des applications interopérables, telles que des services Web interopérables créés à l’aide de technologies tierces. WCF implémente également la prise en charge du protocole OLE Transactions, qui peut être utilisé dans les scénarios où vous n’avez pas besoin de fonctionnalités d’interopérabilité pour activer le flux de transactions.

Vous pouvez utiliser un fichier de configuration d’application pour configurer des liaisons pour activer ou désactiver le flux de transactions, ainsi que définir le protocole de transaction souhaité sur une liaison. En outre, vous pouvez définir des délais d’expiration des transactions au niveau du service à l’aide du fichier de configuration. Pour plus d’informations, consultez Activation du flux de transactions.

Les attributs de transaction dans l’espace System.ServiceModel de noms vous permettent d’effectuer les opérations suivantes :

Pour plus d’informations, consultez Attributs de transaction ServiceModel.

Voir aussi