Partager via


Scénario StateMachine à l'aide d'une combinaison de FlowChart et de Pick

Cette rubrique s'applique à Windows Workflow Foundation 4.

Cet exemple montre comment implémenter un scénario de chronomètre simple à l'aide d'une combinaison des activités Flowchart et Pick. Il utilise Receive et Send dans l'activité Pick pour écouter des événements de chronomètre.

Dd807384.Important(fr-fr,VS.100).gif 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 de téléchargement pour télécharger tous les exemples WF et Windows Communication Foundation (WCF). Cet exemple se trouve dans le répertoire suivant.

<LecteurInstall>:\WF_WCF_Samples\WF\Scenario\StateMachineWithPick

Détails de l'exemple

Le tableau suivant répertorie les projets compris dans cet exemple.

Nom du projet

Description

StopWatchService

Ce projet contient l'implémentation d'une machine à états pour l'exemple de chronomètre à l'aide d'une combinaison des activités Flowchart et Pick.

L'activité Pick a 3 instructions PickBranch dans la propriété Branches qui écoutent les événements GetStart, GetStop et GetOff. En fonction de l'événement entrant, les déclencheurs pour l'une des branches s'activent et la propriété Action correspondante est déclenchée. Dans la propriété Action, il y a une instruction Switch qui évalue si la transition est une transition légitime, et si tel est le cas, la propriété currentState est mise à jour avec l'état de transition et envoyée au client.

L'activité FlowDecision à la fin de Flowchart évalue la propriété currentState pour déterminer si l'état est terminal. Si tel est le cas, le workflow se termine ; sinon, le contrôle revient au début de l'activité Pick où le workflow attend des événements de chronomètre supplémentaires.

StopWatchClient

Il s'agit d'une application console de workflow séquentiel simple qui envoie différents événements de chronomètre avec des combinaisons de Send ou de Receive simples.

Pour utiliser cet exemple

  1. À l'aide de Visual Studio 2010, ouvrez le fichier solution StateMachineWithPick.sln.

  2. Pour générer la solution, appuyez sur F6.

  3. Démarrez StopWatchService.exe en tant qu'administrateur à partir de l'Explorateur Windows, en cliquant avec le bouton droit sur le fichier .exe, puis en sélectionnant Exécuter en tant qu'administrateur.

    1. Accédez au dossier StateMachineWithPick\CS\StopWatchService\bin\Debug.

    2. Cliquez avec le bouton droit sur le fichier StopWatchService.exe, puis sélectionnez Exécuter en tant qu'administrateur.

  4. Démarrez l'application cliente StopWatchClient à partir de Visual Studio 2010.

    1. Dans l'Explorateur de solutions, sélectionnez le projet StopWatchClient, puis cliquez avec le bouton droit sur Définir comme projet de démarrage.

    2. Pour exécuter la solution, appuyez sur CTRL+F5.

  5. Revenez à la fenêtre de console de StopWatchService.exe pour voir les transitions d'état.

Dd807384.Important(fr-fr,VS.100).gif 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\StateMachineWithPick