阻止NServiceBus处理输入队列中的消息

时间:2012-03-07 08:15:15

标签: nservicebus

我想配置NServiceBus实例以使用SendLocal方法,使用以下代码可以正常工作:

var bus = NServiceBus.Configure.With()
    .StructureMapBuilder()
    .XmlSerializer()
    .MsmqTransport()
        .PurgeOnStartup(true)
    .UnicastBus()
        .LoadMessageHandlers()
        .DoNotAutoSubscribe()
    .CreateBus()
    .Start();

 bus.SendLocal(new MyMessage());

但是,这样做会导致立即处理消息。我希望总线不处理消息,但稍后使用另一个NServiceBus实例在另一个AppDomain中处理它。

有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以将Bus.Send(msg)用于另一个NServiceBus端点,当NSB实例启动时,它可以处理该消息。

注意,您需要在app app中配置其他服务的端点,如下所示

  <UnicastBusConfig>
    <MessageEndpointMappings>
      <add Messages="MYCO.Messages.MyMessage" Endpoint="MyMessage.Another.Endpoint@localhost"/>
    </MessageEndpointMappings>
  </UnicastBusConfig>