Wcf-MSMQ: письмо доставляется, но служба не вызывается?

У меня есть приложение MSMQ, использующее netmsmqbinding WCF. В конфигурации по умолчанию и с включенной интеграцией с Active Directory все работает нормально.

Однако, когда я пытаюсь отключить защиту (используя конфигурацию привязки netmsmqbinding), кажется, что сообщения в очереди получены, т. е. сообщения публикуются, потому что я вижу их в журнале очереди, а в журнале их нет. в самой очереди или в очереди недоставленных сообщений, но соответствующая операция WCF не вызывается. Я не вижу никаких исключений или ошибок - как будто сообщения отправляются и читаются, но молча игнорируются WCF.

Любые идеи?

Обновление: это происходит, когда клиентское и серверное приложение находятся на одном хосте. Также обратите внимание, что сообщения фактически удаляются из очереди (т. е. принимаются), но фактическая операция службы не вызывается. Я вижу сообщения в очереди журнала, а не в самой очереди.

Обновление 2: очередь транзакционная.

Обновление 3: трассировка мало что дает. В действии «Прослушивание по адресу net.msmq://address-of-thequeue» я получаю сообщение об исключении CommunicationException с сообщением «Соединение сокета было прервано. Это может быть вызвано ошибкой обработки вашего сообщения или превышением тайм-аута приема удаленным хост или проблема с базовыми сетевыми ресурсами. Тайм-аут локального сокета был «00:00:09.9930000».

В действии «Обработка действия над операцией, которая не выполняется», я получаю InvalidOperationException с «В контексте авторизации не указан пользовательский субъект».


person Kurt Schelfthout    schedule 28.07.2009    source источник


Ответы (1)


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

Вы пытались включить трассировку WCF в службе, чтобы узнать, что происходит? ?

person tomasr    schedule 28.07.2009
comment
+ 1 за трассировку. Попробую. - person Kurt Schelfthout; 29.07.2009