WCF Msmq与"消息"安全性,无法从队列中接收消息

时间:2011-03-04 03:39:22

标签: wcf msmq wcf-security

我有一个WCF路由器使用netMsmqBinding向私有msmq发送消息。我有另一个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>

1 个答案:

答案 0 :(得分:1)

让MSMQ和WCF正常工作并不总是那么容易 - 但确实有效! : - )

查看由汤姆·霍兰德(Tom Hollander)撰写的关于这个主题的三部分博客文章系列 - 由于这个原因,我完成了我的工作: