У меня есть приложение MSMQ, использующее netmsmqbinding WCF. В конфигурации по умолчанию и с включенной интеграцией с Active Directory все работает нормально.
Однако, когда я пытаюсь отключить защиту (используя конфигурацию привязки netmsmqbinding), кажется, что сообщения в очереди получены, т. е. сообщения публикуются, потому что я вижу их в журнале очереди, а в журнале их нет. в самой очереди или в очереди недоставленных сообщений, но соответствующая операция WCF не вызывается. Я не вижу никаких исключений или ошибок - как будто сообщения отправляются и читаются, но молча игнорируются WCF.
Любые идеи?
Обновление: это происходит, когда клиентское и серверное приложение находятся на одном хосте. Также обратите внимание, что сообщения фактически удаляются из очереди (т. е. принимаются), но фактическая операция службы не вызывается. Я вижу сообщения в очереди журнала, а не в самой очереди.
Обновление 2: очередь транзакционная.
Обновление 3: трассировка мало что дает. В действии «Прослушивание по адресу net.msmq://address-of-thequeue» я получаю сообщение об исключении CommunicationException с сообщением «Соединение сокета было прервано. Это может быть вызвано ошибкой обработки вашего сообщения или превышением тайм-аута приема удаленным хост или проблема с базовыми сетевыми ресурсами. Тайм-аут локального сокета был «00:00:09.9930000».
В действии «Обработка действия над операцией, которая не выполняется», я получаю InvalidOperationException с «В контексте авторизации не указан пользовательский субъект».