ASP.NET Session Cache - Срок действия отдельного элемента - PullRequest
3 голосов
/ 23 февраля 2012

Почему вы не можете установить индивидуальный срок действия при добавлении элемента в объект Session?

С помощью Cache.Add() вы можете установить абсолютное истечение и скользящее истечение. Почему вы не можете сделать это с Session?

1 Ответ

5 голосов
/ 23 февраля 2012

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

Если вам нужно что-то, срок действия которого истекает, даже для каждого пользователя, вам нужно использовать кеш вместо сеанса. Вы можете использовать автоматический сахар и варьироваться в зависимости от пользователя. Или вы можете создать свою собственную абстракцию поверх одного из объектов кэша .NET (я использую MemoryCache для локального кэширования). Хотя я не спешу говорить «использовать собственный код», есть преимущество в кеше, если сайт растет среди пользователей, так как вы можете однажды переключиться на распределенный кеш, такой как кеширование AppFabric, nCache (очень дружественный к веб) или memcached .

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