Каков наилучший способ получить данные, когда пользователь вошел в систему? - PullRequest
0 голосов
/ 18 сентября 2010

В моем приложении есть требование хранить в течение периода, в течение которого пользователь остается в системе, некоторые переменные, которые используются для предоставления настраиваемой информации о том, как пользователь просматривает свои данные (предопределенные фильтры, язык и т. Д.).Мои необходимые данные не больше 1 КБ.

Я прочитал много постов в блоге, которые определенно рекомендуют не хранить эти данные в объекте Session.Во многих из этих сообщений в блоге авторы предлагают вместо этого использовать TempData.

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

Я не прав?Какая хорошая альтернатива подходит для моего сценария?

спасибо за помощь:)

1 Ответ

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

Два варианта:

  1. Печенье
  2. База данных

Если эту информацию нужно хранить только в течение времени, когда пользователь вошел в систему, и вы не хотите сохранять ее, когда он возвращается, cookie-файлы будут работать нормально. Если, с другой стороны, вы хотите сохранить пользовательские настройки пользователя, вам необходимо сохранить их в базе данных или использовать постоянные файлы cookie.

Сеанс также является опцией, но будьте осторожны, если ваш сайт работает в веб-ферме - в этом случае вам потребуется сохранение сеанса вне процесса.

Как я понимаю, TempData является хорошим выбором для кратковременных временных данных и не подходит для кэширования данных в течение всего периода, в течение которого пользователь остается в системе.

Вы абсолютно правы. TempData следует использовать только в следующем сценарии: пользователь вызывает действие контроллера, это действие контроллера сохраняет что-то в TempData и немедленно перенаправляет на другое действие контроллера (оно никогда не отображает представление), которое извлекает сохраненные данные и отображает представление (Перенаправление после сценариев POST).

...