Partager via


OperationScope

Cette rubrique s'applique à Windows Workflow Foundation 4.

Cet exemple montre comment les activités de messagerie, Receive et SendReply, peuvent être utilisées pour exposer une activité personnalisée existante en tant qu'opération dans un service de workflow. Cet exemple inclut une nouvelle activité personnalisée appelée OperationScope. Elle est destinée à faciliter le développement d'un service de workflow en permettant aux utilisateurs de créer le corps de leurs opérations séparément en tant qu'activités personnalisées et de les exposer facilement en tant qu'opérations de service à l'aide de l'activité OperationScope. Par exemple, une activité Add personnalisée que prend deux arguments in et qui retourne un argument out pourrait être exposée en tant qu'opération Add sur le service de workflow en le déposant dans un OperationScope.

L'étendue fonctionne en inspectant l'activité fournie comme étant son corps. Tous les arguments in non liés sont supposés être des entrées du message entrant. Tous les arguments out, qu'ils soient liés ou non, sont supposés être des sorties dans le message de réponse suivant. Le nom de l'opération exposée provient du nom complet de l'activité OperationScope. Le résultat final est que l'activité de corps est incluse dans un wrapper dans un Receive et un SendReply avec les paramètres provenant des messages liés aux arguments de l'activité.

Cet exemple expose un service de workflow à l'aide de points de terminaison HTTP. Pour s'exécuter, des listes de contrôle d'accès (ACL) d'URL appropriées doivent être ajoutées. Pour plus d'informations, consultez Configuration de HTTP et HTTPS. L'exécution de la commande suivante à une invite de commandes avec élévation de privilèges ajoute les listes de contrôle d'accès (ACL) appropriées (vérifiez que votre domaine et nom d'utilisateur sont substitués sont remplacés par %DOMAIN%\%UserName%).

netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%

Pour exécuter l'exemple

  1. Ouvrez la solution OperationScope.sln dans Visual Studio 2010.

  2. Définissez plusieurs projets de démarrage en cliquant avec le bouton droit sur la solution dans l'Explorateur de solutions, puis en sélectionnant Définir les projets de démarrage. Ajoutez Scénario et Scenario_Client (dans cet ordre) en tant que plusieurs projets de démarrage.

  3. Appuyez sur F6 pour générer la solution.

    Ee662961.Warning(fr-fr,VS.100).gif Attention :
    Cette étape est requise pour consulter le workflow BankService.xaml en raison de l'activité personnalisée OperationScope.

  4. Appuyez sur CTRL+F5 pour exécuter l'application. La console Scenario_Client vous demande des entrées, et la sortie correspondante s'affiche sur la console Scenario.

Ee662961.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\Services\OperationScope