J'ai un service WCF avec NetMSMQBinding. Mon client peut envoyer des messages à ma file d'attente et lorsque le service est exécuté, il récupère les messages de la file d'attente comme prévu. Si le service n'est pas en cours d'exécution, les messages reçus sont mis en file d'attente tant que le service commence. P>
Mon problème est que le service ne démarre pas lorsqu'un message frappe la file d'attente. Le service est hébergé dans IIS, et il n'est donc pas instancié que l'IIS reçoit une demande. Si je navigue au service, il traite les messages de la file d'attente, mais il n'est évidemment pas ma méthode de traitement de la file d'attente! P>
Je pense que je dois modifier la mise en œuvre du service ou changer la configuration IIS, mais je ne sais pas où ou quoi changer. P>
Quelqu'un utilise-t-il réellement MSMQ sur WCF? J'avais cela fonctionnant pendant une courte période - j'ai activé la liaison sur un site Web Différent em> sur le même serveur, bizarrely - mais maintenant, il a de la manière d'en quelque sorte cessée de travailler à nouveau. P>
Le seul problème que j'ai eu est avec l'activation du service lorsqu'il y a un message dans la file d'attente. Actuellement, la file d'attente ne traite que lorsque le service est instancié, par exemple. quand je parcourt le fichier .svc. J'ai le protocole Net.MSMQ activé sur l'application et j'ai la liaison Net.MSMQ activée sur le site ... Y a-t-il autre chose que je dois faire? P>
3 Réponses :
Vous devez explicitement configurer IIS pour une activation non HTTP. Je ne connais pas tous les détails du sommet de ma tête, mais il est essentiellement nécessaire d'utiliser AppMD pour configurer et activer l'activation de la liaison Net.MSMQ. P>
vérifier
Cela pourrait sauver quelqu'un les heures qu'il m'a fallu: http://msdn.microsoft.com/en-us/library/ms731053. ASPX P>
Je crois que mes problèmes utilisant MSMQ se liant sur la WCF étaient principalement autour de IIS. P>
Je n'avais aucune fin des problèmes à l'aide de Windows XP / Server 2003 avec IIS 6. P>
Utilisation de Windows 7 ou de Server 2008 avec IIS 7.5 Tout fonctionne bien. P>
Une suggestion encore meilleure est d'exécuter MSMQ comme service géré de service / Windows ou une application autonome plutôt que sous IIS. P>