использовать outputcache или переменную сеанса - PullRequest
0 голосов
/ 04 февраля 2011

Я использую asp.net mvc 3.

Я внедряю систему баллов, аналогичную SO. Я хочу показать баллы пользователей на каждой странице. я должен хранить это в переменной сеанса?

или я могу использовать outputcache для частичного действия, чтобы показать его на каждой странице? я не хочу делать dbcall только для этого на каждой странице.

Я немного неохотно с переменной сессии, я слышал слишком много смешанных комментариев о них

спасибо

1 Ответ

1 голос
/ 04 февраля 2011

Я не буду хранить это в сеансе.

Если пользователь делает что-то, что влияет на его очки, вам придется обновлять сеанс каждый раз.Используйте сеанс для вещей, которые редко меняются в течение времени пользователя на вашем веб-сайте (например, его имя пользователя, предпочтения и т. Д.).

Не забывайте, что если кто-то «одобрит» то, что сделал пользователь, - как бы вызнаете об этом, если только вы не вызовете db?

Я бы использовал обычный Cache, возможно, с SqlCacheDependency в таблице, содержащей имя пользователя, поэтому при изменении он делает недействительными кэшированные данные.

...