Лучший способ управлять сессией в NHibernate?

У меня такая же проблема, и я нашел ответ Йориса очень полезным. Но дополнительно мне нужно добавить

<mvc:annotation-driven /> 

в файл конфигурации сервлета. Без этого сопоставление ресурсов не будет работать, и все обработчики перестанут работать. Надеюсь, это поможет кому-то.

5
задан csharpwinphonexaml 4 May 2014 в 21:58
поделиться

4 ответа

проверьте вебкасты SummerOfNHibernate для большого учебного руководства... Что Вы ищете, конкретно не прибывает до webisode 5 или 6.

2
ответ дан 14 December 2019 в 01:22
поделиться

Сохраните свою сессию открытой для Вашей всей единицы работы. Если Ваша сессия является жизнью, является слишком маленьким, Вы не можете извлечь выгоду из кэша сеансового уровня (который является значительным). Любое время можно предотвратить распространение в прямом и обратном направлениях к базе данных, собирается сэкономить много времени. Вы также не можете использовать в своих интересах ленивую загрузку, которая крайне важна для понимания.

Если Ваше время жизни сессии является слишком большим, можно столкнуться с другими проблемами.

Если это будет веб-приложением, то Вы, вероятно, сделаете прекрасный с session-per-httpRequest шаблоном. В основном это - HttpModule, который открывает сессию в начале запроса и сбросов/завершений в конце. Обязательно сохраните сессию в HttpContext. Объекты НЕ СТАТИЧЕСКАЯ ПЕРЕМЕННАЯ. <---приводит ко всем видам проблем, с которыми Вы не хотите иметь дело.

Вы могли бы также посмотреть на RhinoCommons для реализации единицы работы.

1
ответ дан 14 December 2019 в 01:22
поделиться

Так как Вы разрабатываете веб-приложение (по-видимому, с ASP.NET), проверяете Лучшие практики NHibernate с ASP.NET в CodeProject.

0
ответ дан 14 December 2019 в 01:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: