Est-il possible de configurer un point de terminaison pour qu'il agisse comme un ouvrier récupérant des tâches d'un distributeur ET s'abonnant à un type de message?Cofiguration d'un point de terminaison pour qu'il soit à la fois travailleur et abonné
J'ai le scénario suivant (adapté à la vente terminologie)
*) un service central publie chaque maintenant et puis une liste des nouveaux prix. Tous les travailleurs doivent être informés. Cela signifie qu'un travailleur devrait s'abonner à cet événement. *) Lorsqu'une nouvelle commande arrive à la centrale, elle l'envoie au distributeur, qui l'envoie au prochain travailleur inactif à traiter. Cela signifie qu'un travailleur doit être configuré pour recevoir des messages du distributeur. J'utilise la configuration suivante:
<MsmqTransportConfig
InputQueue="worker"
ErrorQueue="error"
NumberOfWorkerThreads="2"
MaxRetries="5"
/>
<UnicastBusConfig
DistributorControlAddress="distributorControlBus"
DistributorDataAddress="distributorDataBus" >
<MessageEndpointMappings>
<add Messages="Events" Endpoint="messagebus" />
</MessageEndpointMappings>
</UnicastBusConfig>
Lorsque je configure seulement en tant que travailleur ou seulement en tant que tout abonné fonctionne comme prévu, mais pas quand je configure comme les deux.
J'ai découvert qu'un message arrive à la file d'entrée du central avec l'adresse du distributeur comme adresse de retour au lieu de l'adresse du travailleur, et l'éditeur ne reconnaît aucun abonné dans ce cas. Des idées? Merci d'avance.
C'est comme ça que je le fais maintenant. La liste de prix est jointe au message de commande. Mon intention était de supprimer les messages et d'économiser de la bande passante. Si cela ne fonctionne pas, je peux envisager d'envoyer l'horodatage de la liste de prix actuelle et de laisser le serveur le demander au central en utilisant Bus.Reply(), mais cela signifie aussi que je dois persister les messages jusqu'à ce que la réponse arrive. – Mouk
D'autres façons? Les données dont nous avons besoin sont extrêmement lourdes et ne peuvent pas être transférées sur le réseau – theGecko
TheGecko, nous cherchons à regrouper dans un bus de données pour transmettre de plus grandes quantités de données. –