В какой проект я должен поместить Виндзорские установщики? - PullRequest
0 голосов
/ 24 февраля 2012

Мне нужно добавить рабочую роль для долгосрочных задач в мой текущий веб-проект, используя Castle и Nhibernate.

В настоящее время многие из моих служб установлены в DomainModel как PerWebRequest. Мне нужно использовать некоторые из них в моем Worker, которые не могут использовать PerWebRequest, поэтому мне нужно, чтобы они были Transient.

Где лучше всего разместить установщики?

Должен ли я зарегистрировать услуги в DomainModel или Web и Worker с соответствующими LifeStyle для каждого?

Например, NHibernate - это PerWebRequest для Web, но не для Worker. Поскольку многие службы внутри DomainModel зависят от ISession, кажется неправильным требовать, чтобы Web или рабочая сборка зарегистрировали его «для» DomainModel.

Мое решение состоит из трех проектов, подобных этому:

DomainModel
- DAO, shared services etc.

Web
- Models and presentation

Worker (new)
- Long running background tasks

1 Ответ

0 голосов
/ 27 февраля 2012

Мне бы не хотелось, чтобы компоненты / слои были "осведомлены о контейнере".Мой выбор всегда для проекта точки входа (mvc, windows form, wpf, windows service ...)

...