WPF, Nhibernate v2 Постоянство сессии - PullRequest
0 голосов
/ 18 февраля 2011

У меня есть приложение WPF, которое загружает модули в мое приложение через призму / MEF.Каждый модуль будет ссылаться на сборку, которую я создал, чтобы разместить функциональность NHibernate (Unit of Work и шаблон репозитория).Теперь, когда я начал работу с первым модулем, возникли следующие вопросы:

  • Является ли обычным делом открывать сеанс nhibernate на время жизни приложения WPF / windows?
  • Было бы хорошей идеей поделиться сеансом nhibernate между всеми модулями, или каждый модуль должен создать свой собственный сеанс?

Насколько я понимаю, этот сеанс облегчен, поэтому открытие и закрытие сеанса не являетсяпроблема ... однако, если я закрываю сеанс, то теряю отслеживание изменений ... когда я вызываю Save, и объект такой же, как и при получении, я не хочу, чтобы запрос выполнялся.

1 Ответ

2 голосов
/ 18 февраля 2011
  1. Не открывайте сеанс в течение времени жизни приложения wpf / windows.Если у вас возникнут проблемы с производительностью и памятью.

  2. Это действительно зависит от того, как эти модули взаимодействуют.Являются ли они отдельными системами или они должны работать в тандеме, чтобы выполнять работу.Если это первое, я бы сказал, что они не должны делиться сессиями.Если это последнее, я бы использовал какой-то менеджер сеансов, который может пропустить текущий сеанс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...