Modèle de confirmation automatique
Cette rubrique s'applique à Windows Workflow Foundation 4.
Cet exemple est composé de trois scénarios qui s'exécutent pour illustrer une activité AutoConfirmScope
personnalisée. Le premier exemple présente l'exécution réussie d'une séquence de quatre activités compensables où la deuxième et la troisième sont imbriqués dans un AutoConfirmScope
. Le deuxième exemple présente la même séquence avec une exception qui se produit après l'exécution du quatrième CompensableActivity. Le troisième scénario présente la même séquence avec une exception qui se produit dans AutoConfirmScope
une fois le deuxième CompensableActivity terminé.
L'exemple illustre le modèle de confirmation automatique où toutes les activités compensables enfants sont confirmées une fois l'étendue terminée avec succès. Ce modèle définit la durée de vie de toutes les activités compensables enfants, lorsqu'elles ne peuvent plus être compensées ou confirmées.
L'étendue est composée d'un TryCatch où Try est un CompensableActivity interne. Le corps spécifié par l'utilisateur d'AutoConfirmScope
est le corps du CompensableActivity interne. Lorsque ce CompensableActivity interne se termine, il produit un CompensationToken comme argument de sortie. AutoConfirmScope
utilise un Finally pour vérifier si le jeton a été produit, et si tel est le cas, il confirme ensuite le CompensableActivity interne. Le CompensableActivity interne appelle la compensation par défaut pour toutes les activités compensables qui peuvent exister dans son corps.
Le premier scénario illustre l'exécution réussie du workflow. Il montre que la deuxième et la troisième activités compensables sont déjà confirmées lorsque le workflow se termine et que la première et la quatrième sont confirmées. Cela produit un ordre de confirmation de trois, deux, quatre et un.
Le deuxième scénario présente une exception une fois les quatre activités compensables terminées. Étant donné que la deuxième et la troisième activités compensables sont déjà confirmées, elles ne sont pas affectées, mais les activités une et quatre sont compensées. Cela produit la confirmation de la troisième activité, la confirmation de la deuxième activité, la compensation de la quatrième activité et la compensation de la première activité.
Le dernier scénario présente l'échec de l'exécution de AutoConfirmScope
. Dans ce scénario, une exception se produit une fois le deuxième CompensableActivity terminé. Étant donné que la troisième et la quatrième activités compensables ne se sont pas exécutées, elles ne sont pas affectées. Étant donné que l'étendue ne s'est pas terminée avec succès, le deuxième CompensableActivity n'est pas confirmé. Cela produit un ordre de compensation de deux, puis un.
Pour utiliser cet exemple
À l'aide de Visual Studio 2010, ouvrez le fichier solution AutoConfirmSample.sln.
Pour générer la solution, appuyez sur F6.
Pour exécuter la solution, appuyez sur CTRL+F5.
Remarque : |
---|
Les exemples peuvent déjà être installés sur votre ordinateur. Recherchez le répertoire (par défaut) suivant avant de continuer.
<LecteurInstall>:\WF_WCF_Samples
Si ce répertoire n'existe pas, rendez-vous sur la page (éventuellement en anglais) des exemples Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) pour .NET Framework 4 pour télécharger tous les exemples Windows Communication Foundation (WCF) et WF. Cet exemple se trouve dans le répertoire suivant.
<LecteurInstall>:\WF_WCF_Samples\WF\Scenario\Compensation\AutoConfirm
|