使用Apache ActiveMQ WCF绑定配置问题进行双工或请求-答复

使用Apache ActiveMQ WCF绑定配置问题进行双工或请求-答复,wcf,apache,activemq,nms,Wcf,Apache,Activemq,Nms,我正在尝试对WCF应用程序使用Apache.NMS.WCF绑定,并出现以下错误- 契约需要双向(请求-应答或双工),但绑定“NmsBinding”不支持它或未正确配置以支持它 我的system.service模型如下所示- <bindings> <nmsBinding> <binding name="myNMSBinding" destination=

我正在尝试对WCF应用程序使用Apache.NMS.WCF绑定,并出现以下错误-

契约需要双向(请求-应答或双工),但绑定“NmsBinding”不支持它或未正确配置以支持它

我的system.service模型如下所示-

    <bindings>
        <nmsBinding>
            <binding 
                name="myNMSBinding" 
                destination="test.queue" 
                destinationType="TemporaryQueue"
                >
            </binding>
        </nmsBinding>
    </bindings>

    <extensions>
        <!--<bindingElementExtensions>
            <add name="nmsTransPort" 
                 type="Apache.NMS.WCF.NmsTransportElement, Apache.NMS.WCF, Version=1.1.0.1642, Culture=neutral, PublicKeyToken=82756feee3957618" />
        </bindingElementExtensions>-->
        <bindingExtensions>
            <add name="nmsBinding" 
                 type="Apache.NMS.WCF.NmsBindingCollection, Apache.NMS.WCF, Version=1.1.0.1642, Culture=neutral, PublicKeyToken=82756feee3957618" 

                 />
        </bindingExtensions>
    </extensions>

    <services>
        <service name="WcfService1.Service1" behaviorConfiguration="WcfService1.Service1Behavior">
            <!-- Service Endpoints -->
            <endpoint 
                address="tcp://localhost:61616" 
                binding="nmsBinding" 
                bindingConfiguration="myNMSBinding" 
                contract="WcfService1.IService1"
                />
        </service>
    </services>



有没有办法将Apache NMS配置为双工还是不支持双工

像ActiveMQ这样的消息队列在设计上通常只是单向的——您可以将消息放入其中,仅此而已

如果您确实需要回复,真正的解决方案是颠倒角色:您在主合同上向其发送消息的服务(单向)将成为在第二个队列上向您发送回复的客户端,您的应用程序将作为服务器侦听该队列

有关以下主题,请参阅一些MSDN文档和其他资源:


这些示例通常使用MSMQ,因为WCF本机支持MSMQ,但将任务分解为两个单独的单向契约的基本原则以及如何设置和使用两个单独的请求和响应队列也应适用于ActiveMQ。

我对此投了否决票,因为这是不正确的。ActiveMQ为您提供了多种执行请求-响应的方法。其中之一是临时队列,您可以将其用作消息的返回地址。这个“临时队列”有一个临时消费者..@Noctris:这也适用于WCF绑定吗??问题显然是关于使用WCF中的ActiveMQ,而不是它的一般功能。。。