ASP.NET - TTL для пар ключ-значение сеанса (InProc) - PullRequest
1 голос
/ 17 мая 2011

Есть ли санкционированный метод добавления TTL к записям состояния сеанса ASP.NET InProc?

Пример:

Session("First", 60) = "John"
Session("Adams", 500) = "Adams"

1 Ответ

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

Из коробки нет нет.Пары ключ-значение для отдельного состояния сеанса не имеют встроенного метода для добавления TTL или TTE.

Что касается "глобального" тайм-аута состояния сеанса InProc, он управляется настроенным значением для состояния сеанса.в вашем файле web.config (значение timeout в настройках /system.web/sessionState).

Кроме того, хотя это может показаться привлекательным предложением для создания собственного поставщика состояния сеанса, вы не можете использоватьSession свойство, открываемое кодом страницы или контроллера, так как это возвращает объект HttpSessionState.Ни один из методов, свойств или индексаторов не поддерживает наличие дополнительного параметра для указания времени ожидания отдельного значения сеанса.

Вы можете рассмотреть следующие действия:

  • Поддерживать активный сеанс для каждого пользователя:

    Session ("PersistMe") = true

  • Grab SessionID и использовать его для хранения значений в ASP.NET Cacheгде вы можете использовать значение TTL.

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