Тайм-аут сеанса ASP.Net
-
11-07-2019 - |
Вопрос
Я пытаюсь увеличить время ожидания для всех сеансов.Сайт размещен с помощью Godaddy, и он написан на Flash (на стороне клиента, конечно) и asp.net на серверной части.Я добавил это в свой web.config,
<sessionState timeout="720">
</sessionState>
Это действительно все, что мне нужно сделать?Я бы предпочел, чтобы сеансы никогда не истекали, но я уверен, что в какой-то момент серверу необходимо восстановить эту память...На самом деле я ничего не сохраняю в сеансе, просто использую его для отслеживания продвижения пользователей по сайту и того, вошел пользователь в систему или нет.
Спасибо за любые указания...вся документация кажется обманчиво простой, и это отчасти заставляет меня нервничать...
Решение
Ага!Как в;Да, это единственное, что вам нужно сделать...
Однако, чтобы получить "бесконечные тайм-ауты", вам нужно будет создавать фоновый HTTP-запрос (который будет передавать файл cookie сеанса) обратно на сервер каждые 719 минут.Хотя теоретически тогда вам также пришлось бы проводить сеансы "Вне процесса", используя, напримеркакая-то база данных или что-то в этом роде...
Или вы могли бы запустить свой собственный обработчик сеанса, я думаю, точки доступа.У NET есть поддержка для этого с помощью какого-то шаблона адаптера или чего-то в этом роде, но я не уверен.Тогда у вас мог бы получиться "по-настоящему" нескончаемый сеанс...
Другие советы
Если вы используете проверку подлинности Forms, вам также нужно будет установить тайм-аут проверки подлинности Forms в вашем web.config
Пример:
<authentication mode="Forms">
<forms
name=".ASPXAUTH"
loginUrl="/Home/Default.aspx"
defaultUrl="/Dashboard/Default.aspx"
protection="All"
timeout="30"
slidingExpiration="true"
/>
</authentication>