Partager via


Écriture d’une application transactionnelle

En tant que programmeur d'applications transactionnelles, vous pouvez bénéficier des deux modèles de programmation fournis par l'espace de noms System.Transactions pour créer une transaction. Vous pouvez utiliser le modèle de programmation explicite à l’aide de la classe Transaction, ou le modèle de programmation implicite dans lequel les transactions sont automatiquement managées par l’infrastructure, à l’aide de la classe TransactionScope. Il est recommandé d’utiliser le modèle de transaction implicite pour le développement. Vous trouverez de plus amples informations sur l’utilisation d’une étendue de transaction dans la rubrique Implémentation d’une transaction implicite à l’aide de l’étendue de transaction.

Les deux modèles prennent en charge la validation d'une transaction lorsque le programme atteint un état cohérent. Si la validation réussit, la transaction est validée durablement. Si la validation échoue, la transaction est abandonnée. Si le programme d'application ne parvient pas à terminer la transaction avec succès, il tente d'abandonner et d'annuler les effets de la transaction.

Dans cette section

Création d'une transaction

L'espace de noms System.Transactions fournit deux modèles pour la création d'une transaction. Ces modèles sont présentés dans les rubriques suivantes.

Implémentation d'une transaction implicite à l'aide de l'étendue de transaction

Décrit comment l'espace de noms System.Transactions prend en charge la création de transactions implicites à l'aide de la classe TransactionScope.

Implémentation d'une transaction explicite à l'aide de CommittableTransaction

Décrit comment l'espace de noms System.Transactions prend en charge la création de transactions explicites à l'aide de la classe CommittableTransaction.

Remontée de la gestion des transactions

Si une transaction doit accéder à une ressource dans un autre domaine d'application ou si vous voulez vous inscrire à un autre gestionnaire de ressources durables, la transaction est automatiquement remontée pour être managée par le MSDTC. La remontée de transactions est présentée dans la rubrique Remontée de la gestion de transaction.

Accès concurrentiel

La rubrique Gestion de l’accès concurrentiel avec DependentTransaction explique comment mettre fin à l’accès concurrentiel entre des tâches asynchrones à l’aide de la classe DependentTransaction.

COM+ Interop

La rubrique Interopérabilité avec Enterprise Services et les transactions COM+ explique comment faire interagir des transactions distribuées avec des transactions COM+.

Diagnostics

Traces de diagnostic explique comment utiliser les codes de traçage générés par l’infrastructure System.Transactions pour résoudre les erreurs se produisant dans vos applications.

Utilisation d'ASP.NET

La rubrique Utilisation de System.Transactions dans ASP.NET explique comment utiliser System.Transactions avec succès dans une application ASP.NET.