Partager via


Procédure : accéder à un service à partir d'une application de workflow

Cette rubrique s'applique à Windows Workflow Foundation 4.

Cette rubrique décrit comment appeler un service de workflow à partir d'une application console de workflow. Elle fait suite à la rubrique Procédure : créer un service de workflow avec les activités de messagerie. Cette rubrique décrit comment appeler un service de workflow à partir d'une application de workflow, mais les mêmes méthodes peuvent être utilisées pour appeler n'importe quel service Windows Communication Foundation (WCF) à partir d'une application de workflow.

Créer un projet d'application console de workflow.

  1. Démarrez Visual Studio 2010.

  2. Chargez le projet MyWFService que vous avez créé dans la rubrique Procédure : créer un service de workflow avec les activités de messagerie.

  3. Cliquez avec le bouton droit sur la solution MyWFService dans l'Explorateur de solutions puis sélectionnez Ajouter, Nouveau projet. Sélectionnez Workflow dans les Modèles installés et Application console de workflow dans la liste de types de projet. Nommez le projet MyWFClient et utilisez l'emplacement par défaut, comme indiqué dans l'illustration suivante.

    Boîte de dialogue Ajouter un nouveau projet

    Cliquez sur le bouton OK pour fermer la boîte de dialogue Ajouter un nouveau projet.

  4. Après avoir créé le projet, le fichier Workflow1.xaml s'ouvre dans le concepteur. Cliquez sur l'onglet Boîte à outils pour ouvrir la boîte à outils, si ce n'est pas déjà fait, et cliquez sur la punaise pour garder la fenêtre ouverte.

  5. Appuyez sur CTRL + F5 pour générer et lancer le service. Comme auparavant, le Serveur de développement ASP.NET se lance et Internet Explorer affiche la page d'aide WCF. Notez l'URI de cette page, car vous devez l'utiliser dans l'étape suivante.

    IE affichant la page d'aide WCF et son URI

  6. Cliquez avec le bouton droit sur le projet MyWFClient dans l'Explorateur de solutions et sélectionnez Ajouter une référence de service. Cliquez sur le bouton Découvrir pour rechercher la solution actuelle pour les services. Cliquez sur le triangle à côté de Service1.xamlx dans la liste des services. Cliquez sur le triangle à côté de Service1 pour répertorier les contrats implémentés par le service Service1. Développez le nœud Service1 dans la liste des Services. L'opération Echo est affichée dans la liste des Opérations, comme le montre l'illustration suivante.

    Boîte de dialogue Ajouter une référence de service

    Conservez l'espace de noms par défaut et cliquez sur OK pour fermer la boîte de dialogue Ajouter une référence de service. La boîte de dialogue suivante s'affiche.

    Boîte de dialogue de notification de l'ajout d'une référence de service

    Cliquez sur OK pour fermer la boîte de dialogue. Appuyez ensuite sur F6 pour générer la solution. Notez qu'une nouvelle section nommée MyWFClient.ServiceReference1.Activities a été ajoutée dans la boîte à outils. Développez cette section ; l'activité Echo a été ajoutée comme indiqué dans l'illustration suivante.

    Activité Echo dans la boîte à outils

  7. Faites glisser une activité Sequence sur l'aire du concepteur. Elle se trouve sous la section Flux de contrôle de la boîte à outils.

  8. Avec l'activité Sequence active, cliquez sur le lien Variables et ajoutez une variable de chaîne nommée inString. Donnez à la variable la valeur par défaut « Hello, world » ainsi qu'une variable de chaîne nommée outString, comme indiqué dans le diagramme suivant.

    Ajout d'une variable

  9. Faites glisser une activité Echo dans l'objet Sequence. Dans la fenêtre des propriétés, liez l'argument _string à la variable inString et l'argument out_string à la variable outString, comme indiqué dans l'illustration suivante. Cela transmet la valeur de la variable inString à l'opération, puis prend la valeur de retour et la place dans la variable outString.

    Liaison des arguments aux variables

  10. Faites glisser une activité WriteLine au-dessous de l'activité Echo pour afficher la chaîne retournée par l'appel de service. L'activité WriteLine se trouve dans le nœud Primitives de la boîte à outils. Liez l'argument Text de l'activité WriteLine à la variable outString en tapant outString dans la zone de texte sur l'activité WriteLine. Le workflow doit maintenant ressembler à l'illustration suivante.

    Workflow client complet

  11. Cliquez avec le bouton droit sur la solution MyWFService et sélectionnez Définir les projets de démarrage Activez la case d'option Plusieurs projets de démarrage et sélectionnez Démarrage pour chaque projet dans la colonne Action comme indiqué dans l'illustration suivante.

    Options de projets de démarrage

  12. Appuyez sur Ctrl + F5 pour lancer à la fois le service et le client. Le Serveur de développement ASP.NET héberge le service, Internet Explorer affiche la page d'aide WCF et l'application de workflow cliente est lancée dans une fenêtre de console et affiche la chaîne retournée par le service (« Hello, world »).

Voir aussi

Tâches

Procédure : créer un service de workflow avec les activités de messagerie

Autres ressources

Services de workflow