長時間実行するタスクのワーカーロールを、現在のWebプロジェクトにCastle
とNhibernate
を使用して追加する必要があります。Windsorインストーラをどのプロジェクトに入れるべきですか?
現在、私の多くのサービスはDomainModel
にPerWebRequest
としてインストールされています。 を使用できないWorker
にあるものを使用する必要があるので、私はそれらをTransient
にする必要があります。
インストーラを置くのに最適な場所はありますか?
私は、それぞれに適切なLifeStyle
とDomainModel
またはWeb
とWorker
にサービスを登録する必要がありますか?
たとえば、NHibernateはWebではPerWebRequestですが、Workerでは使用できません。 DomainModel内の多くのサービスがISessionに依存しているため、WebMakerまたはWorkerアセンブリにDomainModelを登録する必要はありません。
私のソリューションは、このように3つのプロジェクトで構成されています
DomainModel
- DAO, shared services etc.
Web
- Models and presentation
Worker (new)
- Long running background tasks
新しいプロジェクト "Common"はどうですか? – sll
@sllはい、「Common」はどのLifeStyleを持っているべきかをどのように知っていますか? –