我有一個總線端點處理消息,但是現在我想將另一條消息放回到此處理程序中的總線上。NServiceBus - 將消息放回到總線上
要做到這一點,我需要得到一個公交車的參考。
但是,如果我嘗試以下方法:
public class ServerEndpoint: IWantToRunAtStartup
{
public static IBus Bus { get; set; }
public void Run()
{
int x = 5;
Bus = NServiceBus.Configure.With()
.DisableTimeoutManager()
.Log4Net()
.DefaultBuilder()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(false)
.PurgeOnStartup(false)
.UnicastBus()
.ImpersonateSender(false)
.CreateBus()
.Start();
}
public void Stop()
{
}
}
然後我得到的所有類型的配置錯誤,即使我把單播和MSMQ CONFIGS在App.config。
任何人都可以提供指針,我希望這是一個相當直接的錯誤!
感謝
鄧肯
編輯:這是在服務器上。讓我感到困惑的是,總線在global.asax App_Start()方法中使用上面的代碼在Web應用程序中配置。但是當試圖在ServerEndpoint(實際的'總線'DLL,在主機內部運行')中執行此操作時,這不起作用。
你在客戶端或服務器端配置它,你使用任何項目中的依賴注入?如果是的話,儘量把代碼放在注射IBus的地方。配置中的DefaultBuilder()方法告訴Nservice總線使用它的默認DI,即AutoFac –
它看起來像使用NServiceBus.Host.exe運行服務器端。如果是這種情況,則不需要任何此代碼。有關如何設置服務器的示例,請參閱FullDuplex示例。 –