Сообщение не доходит до сервиса - PullRequest
1 голос
/ 16 апреля 2011

У меня есть служба WCF, использующая netMsmqBinding, и клиент, использующий ее.Я отправляю сообщение в службу с помощью клиента, и оно попадает в очередь сообщений, но служба никогда не активируется.Я пытался установить точки останова, исключения в конструкторе, установить подстановочный знак для действия и некоторые другие вещи, но служба никогда ничего не делает.Сообщение находится в очереди сообщений.

Сообщение попадает в очередь, даже если я отключаю IIS.

Чего мне не хватает?

Ответы [ 2 ]

2 голосов
/ 16 апреля 2011

Я не верю, что привязка MSMQ будет автоматически работать в службе WCF, размещенной в IIS.Я считаю, что вы должны использовать Windows Activation Service (WAS) в IIS или какой-то другой механизм, чтобы заставить его работать.Эта статья может дать вам некоторую информацию для начала:

http://blogs.msdn.com/b/tomholl/archive/2008/07/12/msmq-wcf-and-iis-getting-them-to-play-nice-part-1.aspx

1 голос
/ 16 апреля 2011

Ваша служба размещена в приложении или в корневом узле сайта?Если нет в приложении, создайте его, переместите службу и используйте эти команды в командной строке (режим администратора)

appcmd set site "servicesite" -+bindings.[protocol='net.msmq',bindingInformation='localhost']
appcmd set app "servicesite/svcapp" /enabledProtocols:net.msmq

, где servicesite и svcapp - это имена вашего узла сайта IIS и узла приложения соответственно.

Получите доступ к своему сервису через веб-браузер и посмотрите, что вы получите.

...