Vue d'ensemble des transactions Windows Communication Foundation
Les transactions permettent de regrouper un ensemble d'actions ou d'opérations dans une unité d'exécution unique et indivisible. 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 durable ou qu'elles sont toutes interrompues et rétablies à leur état précédent.
- Cohérence. Cela garantit que les modifications effectuées sous une transaction représentent une transformation d'un état cohérent à un autre. Par exemple, une transaction qui transfère de l'argent d'un compte chèques à un compte épargne ne modifie pas la somme d'argent dans le compte bancaire global.
- Isolation. Cela empêche une transaction d'observer des modifications non validées appartenant à d'autres transactions simultanées. L'isolation fournit une abstraction de l'accès concurrentiel tout en garantissant qu'une transaction ne peut pas avoir d'impact inattendu sur l'exécution d'une autre transaction.
- Durabilité. Cela signifie qu'une fois validées, les mises à jour des ressources managées (telles qu'un enregistrement de base de données) seront persistantes en cas de défaillance.
Windows Communication Foundation (WCF) fournit un riche ensemble 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-AT (WS-AtomicTransaction) qui permet aux applications WCF de transférer des transactions vers des applications interopérables, telles que des services Web interopérables créés à l'aide d'une technologie tierce. WCF implémente également la prise en charge du protocole OLE Transactions, qui peut être utilisé dans des scénarios où vous n'avez pas besoin de fonctionnalités d'interopérabilité pour activer le flux de transaction.
Vous pouvez utiliser un fichier de configuration d'application pour configurer des liaisons afin d'activer ou de désactiver le flux de transaction, ainsi que pour définir le protocole de transaction souhaité sur une liaison. De plus, vous pouvez définir des délais d'expiration de transaction au niveau du service à l'aide du fichier de configuration. Pour plus d'informations, consultez Activation du flux de transaction.
Les attributs de transaction dans l'espace de noms System.ServiceModel vous permettent d'effectuer les opérations suivantes :
- configurer des délais d'expiration de transaction et un filtrage de niveau isolation à l'aide de l'attribut ServiceBehaviorAttribute ;
- activer la fonctionnalité de transactions et configurer le comportement de fin de transaction à l'aide de l'attribut OperationBehaviorAttribute ;
- utiliser les attributs ServiceContractAttribute et OperationContractAttribute sur une méthode de contrat pour exiger, autoriser ou refuser le flux de transaction.
Pour plus d'informations, consultez Attributs de transaction ServiceModel.
Voir aussi
Concepts
Attributs de transaction ServiceModel
Activation du flux de transaction