Я новичок в NHibernate и видел некоторые проблемы при закрытии сессий преждевременно. Я решил это временно, повторно используя сеансы вместо открытия сеанса за транзакцию. Тем не менее, у меня создалось впечатление, что открытие сессий каждый раз, когда вы в них нуждаетесь, является рекомендуемым подходом к управлению жизненным циклом сеанса. Нет?
Итак, Каков рекомендуемый способ обработки сеансов? Какова должна быть их жизнь? Одна транзакция сеанса? Один сеанс синглтона для обработки всего? Или что?
Edit:
Обратите внимание, что моя архитектура приложения - это настольное приложение, взаимодействующее с серверной службой, и это то, что делает вся обработка базы данных, используя NHibernate + Fluent. (Если это имеет значение...)