nHibernate + wcf + Isession - PullRequest
       1

nHibernate + wcf + Isession

2 голосов
/ 08 сентября 2010

У меня есть решение c # с 3 проектами - Data, WCF и UI. Первая - это библиотека классов, которая общается с БД. Он открывается через второй, который имеет тип WCF Service Library - причина в том, что он будет представлен в третьем проекте - приложении Asp.net под названием UI - как простой svc, указывающий на dll.

Просто чтобы указать на это, я не использую шаблон репозитория.

Мне нужно иметь ISession для вызова WCF (аналогично подходу Session-per-request для asp.net). Кто-нибудь может поделиться решением, которое просто работает? Я не хочу использовать какой-либо МОК для этого.

Ответы [ 2 ]

1 голос
/ 12 сентября 2010

Использование WcfOperationSessionContext (новое в 3.0).

После привязки ваши классы данных просто должны использовать SessionFactory.GetCurrentSession().

1 голос
/ 08 сентября 2010

Каждый вызов службы связан с уникальным OperationContext.В OperationContext нет хранилища для пользовательских объектов, но вы можете реализовать расширение .Установив сеанс в MessageInspector, вы можете инициировать сеанс NHibernate для каждого вызова в централизованном месте и получать доступ к расширенному контексту в любой операции.

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