хранение пользовательских данных ... сессия против кеша! - PullRequest
0 голосов
/ 05 мая 2011

Я хочу сохранить для каждого пользователя информацию в месте, которое является наилучшим (производительность, ресурсы, безопасность и т. Д. Для масштабируемого приложения), ведь для этого лучше всего ... сеанс или кэш?(ASP MVC)

Ответы [ 4 ]

2 голосов
/ 05 мая 2011

Вы можете проверить это: http://msdn.microsoft.com/en-us/library/z1hkazw7.aspx

Кэширование будет работать, но оно не очень хорошо работает с информацией для каждого пользователя;как правило, это глобальная информация приложения.Сессия работает, но вы можете столкнуться с проблемами параллелизма.http://blog.whiletrue.com/2010/09/asp-net-mvc-sessions-and-concurrent-requests-not-what-youd-expect/

У меня был хороший опыт получения информации из базы данных, загрузки ее в модель и последующего хранения того, что мне нужно, через страницу в скрытых переменных (Html.HiddenFor (x => x.MyField)).Это делает страницу без сохранения состояния, и вам не нужно беспокоиться о времени ожидания сеанса;однако, это не так безопасно.Вид ViewState-on-the-cheap.:-).

0 голосов
/ 05 мая 2011

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

0 голосов
/ 05 мая 2011

Для сохранения (хранения) пользовательской информации (например, адреса), я бы пошел с провайдером профиля!

Срок действия кеша может истечь через некоторое время, и к нему может получить доступвсе приложение.Так что для надежности и безопасности сессия больше подходит для пользовательской среды, для чего она была разработана.

Если вам нужна дополнительная информация, просто дайте мне знать!

Matt

0 голосов
/ 05 мая 2011

Можно использовать для хранения данных сеанса и базы данных.

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