У меня есть маршрутизатор WCF, отправляющий сообщения на частный msmq с использованием netMsmqBinding. У меня есть другая служба WCF, прослушивающая сообщения в этой очереди. Когда для режима безопасности установлено значение «Нет», я могу отправлять сообщения в очередь, а также получать сообщения из очереди без каких-либо проблем. Когда я пытаюсь использовать режим безопасности «Сообщение», я могу отправлять сообщения в очередь, но не могу получать сообщения из очереди, моя служба приема не вызывается. Любые идеи, что может вызвать эту проблему? Вот мой конфигурационный файл для службы, прослушивающей сообщения...

<configuration>
   <system.serviceModel>
      <services>
         <service name="MyService" behaviorConfiguration="ServiceBehavior">
            <host>
               <baseAddresses>
                  <add baseAddress="http://localhost:8000/MyService" />
               </baseAddresses>
            </host>
            <endpoint name="NET.MSMQ_1" 
                      address="net.msmq://localhost/private/TestQueue1" 
                      binding="netMsmqBinding" bindingConfiguration="Binding" 
                      contract="MyContract" />
         </service>
      </services>
      <behaviors>
         <serviceBehaviors>
            <behavior name="ServiceBehavior">
                <serviceMetadata httpGetEnabled="True" />
            </behavior>
         </serviceBehaviors>
      </behaviors>
      <bindings>
         <netMsmqBinding>
             <binding name="Binding">
                 <security mode="Message"/>
             </binding>
         </netMsmqBinding>
      </bindings>
   </system.serviceModel>
</configuration>
0
user633609 4 Мар 2011 в 06:39

1 ответ

Заставить MSMQ и WCF правильно работать не всегда просто, но это работает! :-)

Ознакомьтесь с этой серией постов в блоге Тома Холландера, состоящей из трех частей, на эту тему — благодаря этому я заработал и заработал:

1
marc_s 4 Мар 2011 в 08:42
Спасибо за ваш ответ, я видел эти примеры, но все еще не смог заставить что-то работать, используя безопасность. Я думаю, что я попытаюсь создать очень простое решение того, что я пытаюсь реализовать, и идти оттуда.
 – 
user633609
6 Мар 2011 в 01:50