Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’exemple LinqMessageQueryCorrelation montre comment effectuer une corrélation basée sur le contenu à l’aide d’une implémentation personnalisée MessageQuery par opposition au système fourni XPathMessageQuery.
Montre ce qui suit
Corrélation personnalisée MessageQuerybasée sur le contenu.
Discussions
Cet exemple montre comment étendre à partir de la MessageQuery classe de base à des fins de corrélation. L’implémentation personnalisée permet LinqMessageQueryaux 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 pour distribuer des messages à l’instance de workflow appropriée.
Pour configurer, générer et exécuter l’exemple
Cet exemple expose un service de flux de travail à l’aide de points de terminaison HTTP. Pour exécuter cet exemple, les listes de contrôle d’accès d’URL appropriées doivent être ajoutées (consultez Configuration du protocole HTTP et HTTPS pour plus d’informations), soit en exécutant Visual Studio en tant qu’administrateur, soit en exécutant la commande suivante à une invite avec élévation de privilèges pour ajouter les listes de contrôle d’accès appropriées. Vérifiez que votre domaine et votre nom d’utilisateur sont remplacés.
netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%Une fois les listes de contrôle d’accès d’URL ajoutées, procédez comme suit.
Générez la solution.
Définissez plusieurs projets de démarrage en cliquant avec le bouton droit sur la solution et en sélectionnant Définir des projets de démarrage. Ajoutez le service et le client (dans cet ordre) comme plusieurs projets de démarrage.
Exécutez l’application. La console cliente affiche un flux de travail envoyant une commande et en recevant l’ID de bon de commande, puis en confirmant la commande. La fenêtre Service affiche les demandes en cours de traitement.