2014-10-18 56 views
1

據我所知,包括Rebus在內的總線的常見行爲是爲每個到達和匹配的消息創建一個新的處理程序。這在大多數情況下都很好,但有時候會有昂貴的初始化處理程序(需要實例化服務代理,連接,緩存中的加載對象等)。有一種方法可以在第一次創建這些處理程序時緩存這些處理程序,理想情況下,每個工作人員只有一個實例,以避免一次又一次創建它們?昂貴的初始化/創建Rebus和處理程序

回答

1

如果你有一些需要很長時間來初始化的東西,我建議你使用你的IoC容器來注入它,根據你的需要調整生活方式 - 通過Castle Windsor,我通常將昂貴的服務配置爲單身人士,如果他們可重入或綁定到當前線程(如果它們不是)(這將最終爲每個Rebus工作線程創建一個實例)。

您的選擇可能會有所不同,具體取決於您使用的是哪個IoC容器,但所有容器都應該能夠執行此操作。

相關問題