Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/45.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
阻止NServiceBus处理输入队列中的消息_Nservicebus - Fatal编程技术网

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

阻止NServiceBus处理输入队列中的消息,nservicebus,Nservicebus,我想配置一个NServiceBus实例,以便使用SendLocal方法,该方法可以使用以下代码正常工作: var bus = NServiceBus.Configure.With() .StructureMapBuilder() .XmlSerializer() .MsmqTransport() .PurgeOnStartup(true) .UnicastBus() .LoadMessageHandlers() .D

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

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

 bus.SendLocal(new MyMessage());
但是,这样做会立即处理消息。我希望总线不处理该消息,而是稍后使用另一个NServiceBus实例在另一个AppDomain中处理它

可能吗?

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

注意,您需要在应用程序配置中配置另一个服务的端点,如下所示

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

这也是我想到的,谢谢!我不敢相信我以前没有想到过。我甚至有单独的AppDomain,以便使用自定义设置。