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