Partager via


Corrélation de requête de message LINQ

Cette rubrique s'applique à Windows Workflow Foundation 4.

Cet exemple montre comment effectuer une corrélation basée sur le contenu à l'aide d'une implémentation MessageQuery personnalisée par opposition au XPathMessageQuery fourni par le système.

Montre

MessageQuery personnalisé, corrélation basée sur le contenu.

Discussion

Cet exemple montre le mode d'extension à partir de la classe de base MessageQuery pour les besoins de la corrélation. L'implémentation personnalisée, LinqMessageQuery, permet aux utilisateurs de fournir un XName à rechercher dans le message à l'aide de XLinq. Les données récupérées par la requête sont utilisées pour former la clé de corrélation afin de distribuer des messages à l'instance de workflow appropriée.

Pour configurer, générer et exécuter l'exemple

  1. Cet exemple expose un service de workflow à l'aide de points de terminaison HTTP. Pour exécuter cet exemple, 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), en exécutant Visual Studio en tant qu'administrateur ou en exécutant la commande suivante à une invite de commandes avec élévation de privilèges pour ajouter les listes de contrôle d'accès (ACL) appropriées. Vérifiez que vos domaine et nom d'utilisateur sont substitués.

    netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
    
  2. Une fois les listes de contrôle d'accès (ACL) d'URL ajoutées, effectuez les étapes suivantes.

    1. Générez la solution.

    2. Définissez plusieurs projets de démarrage en cliquant avec le bouton droit sur la solution, puis en sélectionnant Définir les projets de démarrage. Ajoutez Service et Client (dans cet ordre) en tant que plusieurs projets de démarrage.

    3. Exécutez l'application. La console cliente affiche un workflow qui envoie une commande et reçoit l'ID de bon de commande, puis confirme par la suite la commande. La fenêtre Service affichera les demandes en cours de traitement.

Ee834524.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\LinqMessageQueryCorrelation