0
我需要使用Castle
和Nhibernate
將長時間運行任務的輔助角色添加到當前的Web項目中。我應該在哪個項目中安裝Windsor安裝程序?
目前我的很多服務都安裝在DomainModel
中,作爲PerWebRequest
。我需要使用我的Worker
中的一些,它們不能使用PerWebRequest
,所以我需要它們爲Transient
。
哪裏是放置安裝者的最佳地點?
,我應該DomainModel
或Web
和Worker
爲每個相應的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
新項目「Common」怎麼樣? – sll 2012-02-24 14:40:27
@sll是的,但「Common」怎麼知道它應該有哪個LifeStyle? – 2012-02-24 14:46:08