Тайм-аут сеанса ASP.Net

Я пытаюсь увеличить тайм-аут на всех сессиях. Сайт размещен на Godaddy и написан на Flash (на стороне клиента, конечно) и asp.net на сервере. Я добавил это в свой web.config,

<sessionState timeout="720">

</sessionState>

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

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


person Matt Dawdy    schedule 25.11.2008    source источник


Ответы (2)


Ага! Как в; Да, это единственное, что тебе нужно сделать ...

Чтобы получить «бесконечные тайм-ауты», вам нужно будет создать фоновый HTTP-запрос (который будет передавать cookie сеанса) обратно на сервер каждые 719 минут. Хотя теоретически вам также понадобятся сеансы "вне процесса", например, какая-то база данных или что-то в этом роде ...

Или вы можете свернуть свой собственный обработчик сеанса, я думаю, что APS.NET поддерживает это, используя какой-то шаблон адаптера или что-то в этом роде, но я не уверен. Тогда у вас может быть "поистине" бесконечный сеанс ...

person Thomas Hansen    schedule 25.11.2008
comment
Спасибо! Подтверждение от живого человека повысило мою безопасность в 100 раз. - person Matt Dawdy; 25.11.2008

Если вы используете проверку подлинности с помощью форм, вам также необходимо установить время ожидания проверки подлинности с помощью форм в файле web.config.

Пример:

<authentication mode="Forms">
  <forms
    name=".ASPXAUTH"
    loginUrl="/Home/Default.aspx"
    defaultUrl="/Dashboard/Default.aspx"
    protection="All"
    timeout="30"
    slidingExpiration="true"
  />
</authentication>
person Steven Quick    schedule 25.11.2008