Сессии в ASP MVC - PullRequest
       5

Сессии в ASP MVC

1 голос
/ 22 февраля 2012

Я узнал, что сеансы больше не являются рекомендуемым способом сохранения данных в ASP MVC, и мы должны перейти к ViewData (из контроллера в View) и TempData (только для одной обратной передачи). Единственная причина, по которой нам не следует использовать Session, заключается в поддержании тестируемости (MVC поддерживает TDD, поэтому HTTPContext.Session не разрешается при выполнении TestMethods).

Но цель, широко решаемая сессиями, все еще не решена с помощью ViewData или TempData. Сеанс сохраняет контекст для всего сеанса пользователя.

Я все еще не могу собрать правильные рекомендации и альтернативы для сеансов в MVC. Возможно, я ошибаюсь в понимании правильной картины. Буду признателен за любые ссылки на обсуждения или любые предложения от вас, ребята.

Это поможет мне принять решение, используя Session для той цели, для которой оно использовалось с WebForms, или нам следует перестроить текущее приложение, чтобы мы могли использовать Session только там, где это необходимо.

Спасибо Sumeet

1 Ответ

3 голосов
/ 22 февраля 2012

Session по-прежнему широко используется в MVC.

Чтобы сделать ваш код более тестируемым, вы можете предоставить абстракцию (например, Interface) для Session, а затем внедрить ее вваш контроллер - вы можете затем предоставить поддельные или отложенные «сессии» на ваш контроллер.

Но я бы предпочел использовать ViewModel или ViewData для связи с вашими представлениями, т. е. представление не должно напрямую обращаться к Session.

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