Utilisation de l'activité CompensatableSequenceActivity

L'activité CompensatableSequenceActivity est une version de compensable de l'activité SequenceActivity qui implémente l'interface ICompensatableActivity. CompensatableSequenceActivity implémente l'interface ICompensatableActivity. En implémentant cette interface, le CompensatableSequenceActivity peut avoir un CompensationHandlerActivity en tant qu'enfant. Cette activité sera exécutée si la CompensatableSequenceActivity est compensée.

La compensation se produit uniquement pour les activités effectuées avec succès qui implémentent ICompensatableActivity. La compensation peut être implicite suite à une exception qui se produit dans une activité parente, ou explicite à travers l'utilisation de l'activité CompensateActivity.

Il convient d'utiliser la CompensatableSequenceActivity lorsqu'un travail non transactionnel doit être effectué, lequel, en raison d'une condition d'erreur, peut devoir être annulé ultérieurement. Par exemple, si un workflow a envoyé un message électronique et, en raison d'une erreur ultérieure, qu'un courrier électronique de rétractation doit être envoyé, cette opération peut être effectuée en plaçant l'activité qui envoie le premier courrier électronique dans l'activité CompensatableSequenceActivity et l'activité qui envoie le courrier électronique de rétractation dans le CompensationHandlerActivity correspondant. Le runtime exécutera par conséquent uniquement la compensation logique si le premier CompensatableSequenceActivity est effectué avec succès (c'est-à-dire, si le premier courrier électronique a été envoyé).

Pour plus d'informations sur le comportement d'une activité SequenceActivity, consultez Utilisation de l'activité SequenceActivity.

Pour plus d'informations sur la compensation, consultez Utilisation de l'activité CompensateActivity et Utilisation de l'activité CompensationHandlerActivity.

Pour obtenir un exemple de code illustrant l'utilisation de la compensation, consultez Compensation Sample.

Voir aussi

Référence

SequenceActivity
CompensateActivity
CompensationHandlerActivity
ICompensatableActivity
CompensatableSequenceActivity
CompensatableTransactionScopeActivity

Concepts

Utilisation de l'activité SequenceActivity
Utilisation de la compensation dans les workflows
Utilisation de l'activité CompensateActivity
Utilisation de l'activité CompensationHandlerActivity
Utilisation de l'activité CompensatableTransactionScopeActivity
Vue d'ensemble de la compensation

Autres ressources

Compensation Sample
Activités Windows Workflow Foundation

Footer image

Copyright ©2007 par Microsoft Corporation. Tous droits réservés.