2012-03-07 104 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

相關問題