2012-02-24 152 views
0

我需要使用CastleNhibernate將長時間運行任務的輔助角色添加到當前的Web項目中。我應該在哪個項目中安裝Windsor安裝程序?

目前我的很多服務都安裝在DomainModel中,作爲PerWebRequest。我需要使用我的Worker中的一些,它們不能使用PerWebRequest,所以我需要它們爲Transient

哪裏是放置安裝者的最佳地點?

,我應該DomainModelWebWorker爲每個相應的LifeStyle註冊服務?

例如NHibernate是PerWebRequest for Web,但不適用於Worker。由於DomainModel中的許多服務都依賴於ISession,因此要求Web或Worker程序集爲「DomainModel」註冊它是不正確的。

我的解決辦法是在三個項目安排是這樣的:

DomainModel 
- DAO, shared services etc. 

Web 
- Models and presentation 

Worker (new) 
- Long running background tasks 
+0

新項目「Common」怎麼樣? – sll 2012-02-24 14:40:27

+0

@sll是的,但「Common」怎麼知道它應該有哪個LifeStyle? – 2012-02-24 14:46:08

回答

0

我想沒有部件/層「容器知道」。我的選擇總是針對入口點項目(mvc,windows窗體,wpf,windows服務...)

相關問題