2012-03-07 64 views
0

我想在为了使用SendLocal方法,使用下面的代码的正常工作配置NServiceBus实例:防止NServiceBus从在输入队列中处理消息

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

bus.SendLocal(new MyMessage()); 

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

可能吗?

回答

1

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

注意,你需要配置其他服务的端点在你的应用程序配置类似如下

<UnicastBusConfig> 
    <MessageEndpointMappings> 
     <add Messages="MYCO.Messages.MyMessage" Endpoint="[email protected]"/> 
    </MessageEndpointMappings> 
    </UnicastBusConfig> 
+0

这就是我想出了为好,谢谢!我不敢相信我以前没有想到过。我甚至有独立的AppDomain,以便我可以使用它的自定义设置。 – 2012-03-07 21:30:13

相关问题