NHibernate + ASP.NET + Открытый сеанс в представлении + L2Cache
-
19-09-2019 - |
Вопрос
Я использую хорошо известный CodeProject Open Session in View
для обработки сеансов NHibernate.Хорошо ли это работает с Level 2 Cache
?Кому-нибудь удалось это сделать?Должен ли я использовать NH.Burrow
вместо?Любые советы по кэшу l2 в лучших практиках asp.net приветствуются.
Редактировать:ссылка на статью CodeProject: http://www.codeproject.com/KB/architecture/NHibernateBestPractices.aspx
Решение
Для обработки сеанса я использую шаблон «Единица работы».Затем я создаю HttpModule, который реализует время жизни «Сессии для каждого веб-запроса», и это работает очень хорошо.Мой HttpModule запускает единицу работы с помощью перехватчика PreExecuteRequestHandler, а затем сохраняет ее в запросе.Затем он использует перехватчик PostExecuteRequestHandler для завершения единицы работы.
Это статья, на которой основана моя единица работы:http://nhforge.org/wikis/patternsandpractices/nhibernate-and-the-unit-of-work-pattern.aspx
Другие советы
Что касается кеша NHibernate L2, пожалуйста, проверьте это чтение,
NCache представляет собой распределенный кэш корпоративного уровня для .NET и Java, а также обеспечивает быстрое и надежное хранилище для сеансов ASP.NET и JSP.NCache также предлагает свой плагин для кэширования вторичного уровня Nhibernate.