WCF MsmqBinding WAS: прослушиватель пытается сопоставить каждую очередь с сервисом - PullRequest
0 голосов
/ 06 сентября 2011

Я использую Службу WCF с netMsmqBinding и WAS.Кажется, все работает хорошо (включая удаленную отправку в очередь благодаря сообществу stackoverflow:)).

Остается проблема, связанная с тем, что служба обрабатывает несколько сообщений, а затем останавливается с сообщением в журнале событий, например «служба '~ / registrator' не существует. "Похоже, у меня есть очередь с таким именем, которая не имеет никакого отношения к моему сервису.Если я удаляю эту очередь, для другой очереди появляется другое сообщение того же типа и т. Д. Итак, похоже, что служба msmqListener пытается прочитать из всех очередей и сопоставить конечную точку службы для каждой из них?

Тогда возникает вопрос: как заставить службу netMsmqListener прослушивать только некоторые очереди или, по крайней мере, не вызывать сбои, когда не удается найти конечную точку для некоторых из них?

1 Ответ

1 голос
/ 15 сентября 2011

Насколько я могу судить, служба адаптера слушателя net.msmq не может быть настроена напрямую. В Microsoft Connect есть отчет, похожий на тот, который у вас есть. Служба поддержки Microsoft не смогла повторить проблему, но не закрыла отчет. В этом случае проблема могла заключаться в имени очереди MSMQ для SERVICE1. Кажется, что требование заключается в использовании этого соглашения об именах: ServiceName / service.svc для имени очереди.

Несколько обходных путей: сначала попробуйте проверить разрешения для очереди '~ / registrator' и удалить учетную запись, под которой работает служба адаптера слушателя net.msmq, если она указана в списке. В противном случае (и более резко) переместите приложение, использующее очередь '~ / registrator', на другой сервер и просто оставьте очереди службы WCF на текущем компьютере.

...