Partager via


Écriture d’une application transactionnelle

En tant que programmeur d’applications transactionnelles, vous pouvez tirer parti des deux modèles de programmation fournis par l’espace System.Transactions de noms pour créer une transaction. Vous pouvez utiliser le modèle de programmation explicite à l’aide de la Transaction classe ou du modèle de programmation implicite dans lequel les transactions sont gérées automatiquement par l’infrastructure, à l’aide de la TransactionScope classe. Nous vous recommandons d’utiliser le modèle de transaction implicite pour le développement. Vous trouverez plus d’informations sur l’utilisation d’une étendue de transaction dans la rubrique Implémentation d’une transaction implicite à l’aide de la rubrique É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 durablement validée. Si la validation échoue, la transaction abandonne. Si le programme d’application ne peut pas terminer la transaction, il tente d’abandonner et d’annuler les effets de la transaction.

Dans cette section

Création d’une transaction

L’espace System.Transactions de noms fournit deux modèles pour la création d’une transaction. Ces modèles sont abordé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 CommitableTransaction

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

Escalade de la gestion des transactions

Lorsqu’une transaction doit accéder à une ressource dans un autre domaine d’application ou si vous souhaitez inscrire dans un autre gestionnaire de ressources durable, la transaction est automatiquement réaffectée pour être gérée par le MSDTC. L’escalade des transactions est abordée dans la rubrique Escalade de la gestion des transactions .

Concurrence

La rubrique Gestion de la concurrence avec DependentTransaction montre comment la concurrence peut être obtenue entre les tâches asynchrones à l’aide de la classe DependentTransaction.

Interopérabilité COM+

L’interopérabilité avec les services d’entreprise et les transactions COM+ illustre la façon dont vous pouvez faire interagir vos transactions distribuées avec des transactions COM+.

Diagnostiques

Les traces de diagnostic expliquent comment utiliser les codes de trace générés par l’infrastructure System.Transactions pour résoudre les erreurs dans vos applications.

Travailler dans ASP.NET

L’utilisation de System.Transactions dans ASP.NET rubrique décrit comment vous pouvez utiliser System.Transactions correctement à l’intérieur d’une application ASP.NET.