Procédure : créer un service de workflow qui consomme un contrat de service existant
.NET Framework 4.5 offre une meilleure intégration entre les services Web et les workflows sous la forme du développement de workflow contrat en premier. L'outil de développement de workflow Contrat en premier vous permet de concevoir le contrat dans le code en premier. L'outil génère automatiquement un modèle d'activité dans la boîte à outils pour les opérations du contrat.
Notes
Cette rubrique fournit des instructions pas à pas pour créer un service de workflow contrat en premier. Pour plus d’informations sur le développement d’un service de flux de travail Contrat en premier, consultez Développement de services de workflow « Contrat en premier ».
Création du projet de workflow
Dans Visual Studio, sélectionnez Fichier, Nouveau projet. Sélectionnez le nœud WCF sous le nœud C# dans l’arborescence Modèles, puis sélectionnez le modèle Application de service de workflow WCF.
Nommez le nouveau projet
ContractFirst
, puis cliquez sur OK.
Création du contrat de service
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis sélectionnez Ajouter, Nouvel élément.... Sélectionnez le nœud Code à gauche, et le modèle Classe à droite. Nommez la nouvelle classe
IBookService
, puis cliquez sur OK.En haut de la fenêtre de code qui apparaît, ajoutez une directive
using
àSystem.ServiceModel
.using System.ServiceModel;
Remplacez la définition d'exemple de classe par la définition d'interface suivante.
[ServiceContract] public interface IBookService { [OperationContract] void Buy(string bookName); [OperationContract(IsOneWay=true)] void Checkout(); }
Générez le projet en appuyant sur Ctrl+Maj+B.
Importation du contrat de service
Cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions et sélectionnez Importer le contrat de service. Sous <Projet actif>, ouvrez tous les sous-nœuds et sélectionnez IBookService. Cliquez sur OK.
Une boîte de dialogue s'ouvre indiquant que l'opération s'est achevée avec succès et que les activités personnalisées générées s'afficheront dans la boîte à outils une fois le projet construit. Cliquez sur OK.
Générez le projet en appuyant sur Ctrl+Maj+B, afin que les activités importées s’affichent dans la boîte à outils.
Dans l’Explorateur de solutions, ouvrez Service1.xamlx. Le service de workflow apparaît dans le concepteur.
Sélectionnez l’activité Séquence. Dans la fenêtre Propriétés, cliquez sur le bouton de sélection … situé en regard de la propriété ImplementedContract. Dans la fenêtre Éditeur de collections Type qui apparaît, cliquez sur la liste déroulante Type, et sélectionnez l’entrée Rechercher des types…. Dans la boîte de dialogue Rechercher et sélectionner un type .NET, sous <Projet actif>, ouvrez tous les sous-nœuds et sélectionnez IBookService. Cliquez sur OK. Dans la boîte de dialogue Éditeur de collections de type, cliquez sur OK.
Sélectionnez et supprimez les activités ReceiveRequest et SendResponse.
À partir de la boîte à outils, faites glisser une Buy_ReceiveAndSendReply et une activité Checkout_Receive sur l’activité Service séquentiel.