Конфигурация для WCF MSMQ в режиме рабочей группы

Пытаясь развернуть службу, я обнаружил, что она не запускается, потому что MSMQ находится в режиме рабочей группы. Вместо этого я создал частную очередь и изменил файлы конфигурации, чтобы ссылаться на нее, но узел службы WCF отказывается начинать с этого сообщения:

Проверка привязки завершилась неудачно, поскольку для свойства привязки MsmqAuthenticationMode задано значение WindowsDomain, но MSMQ установлен с отключенной интеграцией с Active Directory.

Может ли кто-нибудь сказать мне, как указать режим рабочей группы в файле конфигурации? Информация, которую я нахожу в MSDN, касается изменения настроек в коде и не упоминает, как указать это в файле конфигурации.

В имеющемся у меня файле конфигурации тег привязок пуст (<bindings />), но конечная точка службы указывает binding="netMsmqBinding", что, как я полагаю, означает, что используется конфигурация по умолчанию.


person Peter Wone    schedule 20.01.2009    source источник


Ответы (2)


Вы должны установить анонимную интеграционную аутентификацию в очереди. Посмотрите в этом кб о том, почему и как.

В msdn есть хороший пример работы в режиме рабочей группы. Обратите внимание, что в примере используется очередь транзакций. Таким образом, вам придется сделать свою очередь транзакционной. Это можно сделать только при создании очереди.

Опубликуйте свой код и конфигурацию, чтобы мы могли их прокомментировать.

person Igal Serban    schedule 20.01.2009
comment
Моя очередь уже является транзакционной по указанным вами причинам. Я разобрался с этим вчера вечером, но ваш ответ хороший, а две ссылки, которые вы предоставляете, превосходны, так что спасибо. - person Peter Wone; 21.01.2009
comment
Любой, кто интересуется другими хорошими материалами по этой теме, должен получить копию Essential Windows Communication Foundation Резника, Крейна и Боуэна. - person Peter Wone; 21.01.2009
comment
Когда я пытаюсь следовать примечаниям в статье базы знаний, пытаясь выбрать вкладку Безопасность, я получаю сообщение об ошибке ... Операция не поддерживается для очереди сообщений, установленной в режиме рабочей группы. - person SteveC; 20.05.2015

Когда мы столкнулись с проблемой, <security mode="None"> работал в тестовой среде.

Во время окончательной доставки даже это не сработало .. Наконец то сработало

<security>
<transport
msmqAuthenticationMode="None"
msmqProtectionLevel="None"/>
</security>
person Ananth    schedule 15.06.2012
comment
Итак, ваше решение для устранения проблем с безопасностью - отключить безопасность? Блестяще! - person ; 15.06.2012
comment
Отлично. Режим безопасности = ни один не работал, но затем он перестал работать по непонятной причине. Ваше решение действительно помогло. - person Sentinel; 18.09.2012