WCF ServiceHost是否充当侦听器或轮询器?

时间:2012-07-18 14:14:04

标签: c# .net wcf msmq

我将WCF与netMsmqBinding一起使用。当serviceHost打开时,会发生哪种情况:

  1. serviceHost注册为MSMQ的监听者 - 在每个新到达MSMQ的消息上,MSMQ将通知所有听众。
  2. serviceHost将向MSMQ推荐新消息 -
  3. 开设服务主持人

    using (var serviceHost = new ServiceHost(typeof(Service)))
    {                
        serviceHost.Open();
    
        Console.WriteLine("The service is ready.");
        Console.WriteLine("Press <ENTER> to terminate service.");
        Console.ReadLine();    
    }
    

    如果第一个场景为真,那么它实际上是如何注册到MSMQ的。我没有发现任何文章深入解释它是如何发生的。我会很感激任何文章。

1 个答案:

答案 0 :(得分:0)

此实例中的ServiceHost是队列侦听器。

当队列收到消息时,WCF堆栈会调用您的服务操作,并将队列消息传递给您的服务操作。

  

...... MSMQ将通知所有听众。

不正确。如果同一队列中有多个侦听器,则只有其中一个侦听器将获取该消息。