WCF MsmqBinding WAS : Listener try to match every queue to a service
I'm using a WCF Service with netMsmqBinding and WAS. Everything seems to work well (including remote posting to the queue thanks to stackoverflow community:)).
The remaining problem now is that the service processes a few messages then stops with a message in the event log like "The service '~/registrator' does not exist.". It appears that I have a queue with that name that has nothing to do with my service. If I remove that queue, another message of the same type appears for another queue, etc... So it seems that the msmqListener service try to read from all queues and match a service endpoint for each of the开发者_如何学Pythonm ?
The question would then be : how to tell netMsmqListener service to only listen for some queues or at least not failing when an endpoint can't be found for some of those ?
As far as I can tell, the net.msmq listener adapter service is not configurable directly. There is a report in the Microsoft Connect that seems to be a similar issue to the one you are having. Microsoft support wasn't able to replicate the issue but hasn't closed the report. In that case, the problem may have been the MSMQ queue name for SERVICE1. The requirement seems to be using this naming convention: ServiceName/service.svc for the queue name.
A couple of workarounds: first try checking the permissions for the '~/registrator' queue and remove the account the net.msmq listener adapter service is running under if it is listed. Otherwise (and more drastically), move the application that uses the '~/registrator' queue to another server and just leave WCF service queues on the current machine.
精彩评论