使用WCF的MSMQ监听器

有谁知道如何使用WCF *实现MSMQ Listeners *?


您无需在您的服务上手动实施队列侦听器。

通过创建您的服务操作合约,您可以指定在消息到达队列时将调用的处理程序方法。

你可能(或应该)有这样的东西:

[OperationContract(IsOneWay = true, Action = "*")]
void HandleMyMessage (MsmqMessage<String> message);

这将确保您的服务实现中的HandleMyMessage()方法在传递消息时被调用。

UPDATE

为了回应您在下面评论中的问题,要定义队列地址,您可以在<System.ServiceModel>配置中执行此操作:

<services>
  <service 
      name="Microsoft.ServiceModel.Samples.OrderProcessorService"
      behaviorConfiguration="CalculatorServiceBehavior">
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
      </baseAddresses>
    </host>
    <!-- Define NetMsmqEndpoint -->
    <endpoint address="net.msmq://localhost/private/ServiceModelSamplesTransacted"
              binding="netMsmqBinding"
              contract="Microsoft.ServiceModel.Samples.IOrderProcessor" />
    <!-- the mex endpoint is exposed at http://localhost:8000/ServiceModelSamples/service/mex -->
    <endpoint address="mex"
              binding="mexHttpBinding"
              contract="IMetadataExchange" />
  </service>
</services>

从这里:http://msdn.microsoft.com/en-us/library/ms789032.aspx


MSMQ绑定可能在WCF上。 你可以参考http://blogs.msdn.com/b/tomholl/archive/2008/07/12/msmq-wcf-and-iis-getting-them-to-play-nice-part-1.aspx到获取更多准备好的信息

链接地址: http://www.djcxy.com/p/9541.html

上一篇: MSMQ Listeners using WCF

下一篇: Check if a Checkbox is checked