asp.net mvc хранит данные пользователя - PullRequest
0 голосов
/ 13 сентября 2009

как хранить данные пользователя в asp.net mvc? Допустим, пользователь хочет видеть 50 записей на странице. Я хотел сохранить его в сеансе, но если я все делаю правильно, сеанс сбрасывается при каждой инициализации нового контроллера. Так где? Печенье?

Ответы [ 3 ]

2 голосов
/ 13 сентября 2009

Обычно сеанс не сбрасывается при инициализации контроллера! Убедитесь, что вы не очищаете сеанс от кода. В любом случае, сохранение этого значения в сеансе приводит к частому сбросу ограничения записи (зависит от параметра времени ожидания сеанса).

Подумайте о сохранении этого в профиле пользователя, который хранится в базе данных (будет использоваться после входа в систему) или в cookie-файле (не требуется вход в систему) Это сохранит этот параметр навсегда - ваши пользователи оценят это:)

1 голос
/ 13 сентября 2009

Вместо использования встроенной системы ProfileProvider в ASP.NET, которую следует использовать только в том случае, если вы хотите сохранить пользовательские настройки при нескольких посещениях, вы можете вместо этого поместить данные настроек в сеанс. Может быть обернут в сериализуемый объект.

Сессия очищается, если

  • Вы очищаете это в своем коде
  • срок действия файла cookie, в котором хранится идентификатор сессии (зависит от ваших настроек в web.config) (если срок действия файла cookie истекает во время сеанса, он действительно не истекает до того, как пользователь закроет все окна браузера)
  • если приложение перезапускается (если только вы не используете липкие сеансы (сеансы на основе БД), в этом случае данные сеанса сохраняются при перезапуске приложения)
0 голосов
/ 13 сентября 2009

Сеанс не сбрасывается при инициализации нового контроллера. Но это происходит, когда вы покидаете приложение (ваша сессия заканчивается) или приложение перезапускается. Вы должны использовать профиль для хранения такого рода информации.

Смотрите это: http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx http://www.odetocode.com/articles/440.aspx

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