Использование сессионных переменных в библиотеке доменной модели MVC - PullRequest
0 голосов
/ 24 апреля 2010

У меня есть функция IQueryable. В этой функции мне нужно хранить и извлекать данные в Session; ребята, можете ли вы указать мне в правильном направлении.

Я посмотрел на HttpSessionStatBase, где сессия обычно берется из HttpContext.Current, но это не представляется возможным сделать в библиотеке. Я что-то упустил?

Заранее спасибо.

1 Ответ

2 голосов
/ 24 апреля 2010

Я бы избежал зависимости от статического HttpContext. Моя предпочтительная стратегия состоит в том, чтобы извлечь информацию из сеанса в контроллере и передать ее в качестве параметров (или установить в качестве свойств) на вашем уровне доступа к данным / хранилище. Если вы чувствуете, что должны использовать Session напрямую, я предоставлю его DAL / репозиторию таким же образом - как свойство или как параметр. Однако обратите внимание, что вы увеличиваете связь между вашим DAL / репозиторием и контроллером. Это значительно усложнит повторное использование в не-веб-настройках, т. Е. Вам придется создать поддельный сеанс, чтобы просто взаимодействовать с DAL / репозиторием, если вам когда-нибудь понадобится работать с ним из службы Windows или консольное приложение, например.

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