Я очень старался, но не могу найти решение о том, как установить значение времени ожидания сеанса для сеанса в процессе для веб-приложения ASP.Net.
Я использую VSTS 2008 + .Net 3.5 + C #. Вот что я написал сам, чтобы установить тайм-аут равным 1 минуте, это правильно?
Я написал в разделе system.web в web.config
<sessionState timeout="1" mode="InProc" />
Ответы:
Если вы хотите установить тайм-аут на 20 минут, используйте что-то вроде этого:
источник
Значение, которое вы устанавливаете в
timeout
атрибуте, является одним из правильных способов установить значение времени ожидания сеанса.timeout
атрибут определяет количество минут сеанс может быть неактивным до его отказались. Значением по умолчанию для этого атрибута является 20.Присваивая этому атрибуту значение 1, вы устанавливаете отмену сеанса через 1 минуту после его простоя.
Чтобы проверить это, создайте простую страницу aspx и напишите этот код в событии Page_Load,
Откройте браузер и перейдите на эту страницу. Идентификатор сессии будет напечатан. Подождите минуту, чтобы пройти, затем нажмите обновить. Идентификатор сессии изменится.
Теперь, если мои предположения верны, вы хотите, чтобы ваши пользователи выходили из системы, как только время сеанса истекло. Для этого вы можете настроить страницу входа, которая проверит учетные данные пользователя, и создать переменную сеанса, подобную этой:
Теперь вам нужно выполнить проверку на каждой странице для этой переменной следующим образом:
Это простой пример того, как это будет работать.
Но для создания безопасных приложений производственного качества используйте классы ролей и членства, предоставляемые ASP.NET. Они обеспечивают проверку подлинности на основе форм, которая гораздо более надежна, чем обычная проверка подлинности на основе сеансов, которую вы пытаетесь использовать.
источник
Если вы используете MVC, вы помещаете это в файл web.config в корневом каталоге веб-приложения, а не в web.config в каталоге Views. Он также должен быть в узле system.web, а не под тем, что Джордж2 сказал в своем вопросе: «Я написал в разделе system.web в web.config»
Значение параметра тайм-аута представляет минуты.
Есть другие атрибуты, которые можно установить в элементе sessionState. Вы можете найти информацию здесь: docs.microsoft.com sessionState
Затем вы можете отследить начало нового сеанса в файле Global.asax, добавив следующий метод:
источник
Используйте это в
web.config
:источник
timeout
самом деле.stateConnectionString
иsqlConnectionString
игнорируются, когдаmode="InProc"
и значения дляmode
иcookieless
установлены в их значения по умолчанию. Итак, это действительно связано с ответом Wolfwyrd.Если это не работает
web.config
, вам нужно установить его из IIS.источник