ASP MVC + Castle + nHibernate как подключить? - PullRequest
0 голосов
/ 19 мая 2011

Как лучше всего подключить asp mvc + замок виндзор + nhibernate?

У меня есть хранилище, которое внедряется в мой конструктор контроллера.

Это хороший и правильный способ сделать это:

Component.For<ISessionFactory>().UsingFactoryMethod(()=> CreateSessionFactory() ).LifeStyle.Singleton,

Component.For<ISession>().UsingFactoryMethod ( k=>k.Resolve<ISessionFactory>().OpenSession()).LifeStyle.PerWebRequest

, а затем просто вставить ISession в конструктор хранилища?

А как насчет транзакций и удаления сеанса?

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 20 июня 2011

Я создал объект для вас и всех, кто хочет это сделать.

https://github.com/haf/Castle.Facilities.NHibernate/wiki/NHibernate-Facility---Quick-Start

Nuget: Castle.Facilities.NHibernate

Скажите мне, если вы найдете это стоящим.Это очень минималистично.Просто поместите [Transaction] вокруг командного обработчика, который обрабатывает текущую единицу работы.Я не рекомендую несколько услуг с разрозненными транзакциями.Таким образом, я создал новый стиль жизни в Виндзоре, который называется за транзакцию .

Я могу оказать вам дополнительную помощь в списке рассылки замка.

0 голосов
/ 19 мая 2011

MVC + Замок + NHibernate? Лучший способ - использовать S # arp Architecture вместо изобретения колеса.

Произносится "Sharp Architecture", это это прочная архитектурная основа для быстрого создания ремонтопригодной сети приложения, использующие ASP.NET MVC фреймворк с NHibernate. главное преимущество, которое нужно искать в используя любой архитектурный каркас чтобы уменьшить код нужно написать при одновременном повышении качества конечный продукт. Рамки должны позволить разработчики тратить немного времени на детали инфраструктуры, позволяя им сосредоточить свое внимание на домен и пользовательский опыт. Соответственно S # arp Architecture придерживается следующего ключа принципы:

  • Ориентирован на дизайн, управляемый доменом
  • Слабосвязанный
  • Предварительно настроенная инфраструктура
  • Открытая презентация

Общая цель этого - позволить разработчики меньше беспокоиться о приложение "сантехника" и тратить большую часть своего времени на добавленную стоимость для клиент, ориентируясь на бизнес логика и развитие богатого пользователя опыт.

Полный пример можно найти здесь .

...