Время действия сессии по умолчанию в asp составляет 20 минут, чего во многих случаях недостаточно. Сегодня от клиентов поступает много запросов на повторный вход, поэтому я подготовил эту статью для удобства друзей, которым это необходимо. время истечения срока действия не установлено в программе, то срок действия сеанса истекает в соответствии со временем истечения срока действия, установленным IIS. Время истечения срока действия сеанса по умолчанию в IIS составляет 20 минут. Время сеанса в IIS можно изменить.
Настройки времени должны быть установлены первыми.
Например
Скопируйте код кода следующим образом:
Session.Timeout=30 'SEESION действителен в течение 30 минут.
Сеанс (идентификатор) = Rs (идентификатор)
Сеанс(Имя)=Rs(Имя)
Сессия(Pass)=Rs(Pass
Используйте свойство Session.Timeout, чтобы установить период ожидания.
Для пользователя, который входит в приложение ASP, если он не выполняет никаких других операций в течение системного времени по умолчанию, сеанс пользователя будет автоматически отменен по истечении установленного времени, что предотвращает бесполезную трату системных ресурсов. Свойство TimeOut объекта Session можно использовать для установки срока действия в минутах. Формат настройки:
Скопируйте код кода следующим образом:
Session.TimeOut=МаксВремя
Пример кода: страница (5.asp). В этом примере показано, как управлять завершением сеанса.
Скопируйте код кода следующим образом:
<%@ язык=vbscript %>
<% session.timeout=60 %>
<html>
<head><title>Управление временем окончания сеанса</title><head>
<тело>
<%
кто = Session.SessionID
CurrentPage=Request.ServerVariables(SCRIPT_NAME)
Response.AppendTolog who & : & CurrentPage
Response.write <center>Идентификатор вашего сеанса: & who & <p>
Response.write Путь к странице, которую вы сейчас посещаете: & CurrentPage & <p>
если сеанс(I)= тогда
сеанс (я) = 1
еще
сеанс (я) = сеанс (я) + 1
конец, если
Сессия.Отказаться
Response.write Эта страница была обновлена вами, сеанс(i) и раз. </центр>
%>
В приложениях Asp.net многие люди сталкиваются с конфликтами в настройках срока действия сеанса. Среди них есть четыре способа установить срок действия сессии:
1. Глобальный уровень веб-сайта (т. е. сервера).
IIS-Website-Properties-Asp.net-Edit Configuration-State Management-Session Timeout (минуты) — установите значение 120, что составляет 2 часа, то есть, если текущий пользователь не работает через 120 минут, срок действия сеанса автоматически истечет. .
2. Уровень веб-сайта
IIS — Веб-сайт — Конкретный веб-сайт (например, DemoSite) — Свойства — Asp.net На данный момент есть два варианта: один — изменить глобальную конфигурацию, а другой — изменить конфигурацию.
Если вы отредактируете глобальную конфигурацию, она будет такой же, как предыдущая конфигурация.
Если вы отредактируете конфигурацию, она вступит в силу только на текущем веб-сайте. Потому что на сервере может быть много независимых сайтов.
1. Продолжаем выбирать Управление статусом – Таймаут сеанса (минуты) – ставим 360, то есть 360 минут. Эффект тот же, что и выше, но он действует только на текущем веб-сайте.
2. Идентификация-Формы-Тайм-аут приготовления, выберите 12:00:00, что составляет 12 часов. Доступно восемь вариантов:
00:15:00
00:30:00
01:00:00
02:00:00
04:00:00
08:00:00
12:00:00
1:00:00:00
То есть максимум — 24 часа, а минимум — 15 минут. Это конфигурация по умолчанию. Его можно свободно настроить в приложении.
3. Уровень приложения
То же, что и управление веб-сайтом, за исключением того, что область действия ограничена текущим приложением.
4. Уровень страницы
На определенной странице установите Session.Timeout = 30, чтобы временно изменить время окончания сеанса определенной страницы;
Чтобы проверить время истечения сеанса, вы можете использовать
Скопируйте код кода следующим образом:
TimeSpan SessTimeOut = новый TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
TimeSpan SessTimeOut = новый TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
Среди них вторая и третья настройки отражены в Web.config:
Скопируйте код кода следующим образом:
просмотреть обычную копию в буфер обмена, распечатать?
<?xml версия=1.0?>
<конфигурация>
<система.веб>
<режим аутентификации=Формы>
<forms name=AuthLogin loginUrl=/Login.aspx Protection=All timeout=360 movingExpiration=true/>
</аутентификация>
<sessionState mode=InProc без cookie=false timeout=20 />
</system.web>
<путь к местоположению=Login.aspx>
<система.веб>
<авторизация>
<разрешить пользователей=* />
</авторизация>
</system.web>
</местоположение>
</конфигурация>
<?xml версия=1.0?>
<конфигурация>
<система.веб>
<режим аутентификации=Формы>
<forms name=AuthLogin loginUrl=/Login.aspx Protection=All timeout=360 movingExpiration=true/>
</аутентификация>
<sessionState mode=InProc без cookie=false timeout=20 />
</system.web>
<путь к местоположению=Login.aspx>
<система.веб>
<авторизация>
<разрешить пользователей=* />
</авторизация>
</system.web>
</местоположение>
</конфигурация>
Приоритетом четырех вышеуказанных настроек является уровень страницы > уровень приложения > уровень веб-сайта > уровень сервера. Другими словами, если для страницы установлено значение 20 минут, а для веб-сайта — 120 минут, то эффективным временем истечения, очевидно, будет 20 минут.
Еще один момент, который стоит отметить.
Во втором параметре задайте время ожидания сеанса (SessionState) равным 120 минутам и одновременно используйте проверку подлинности с помощью форм. Установите значение 00:15:00, что составляет 15 минут, а значение скольженияExpirationo равно false. Каков фактический срок действия сеанса. время, когда вступит в силу?
Допустимым результатом является настройка SessionState, равная 120 минутам.
Если время истечения срока действия сеанса установлено, но не вступает в силу, проверьте указанные выше конфигурации.
Другие методы, найденные в Интернете
1. Операционная система: Windows Server 2003.
Шаги: Пуск->Администрирование->Диспетчер служб IIS->Веб-сайт->Веб-сайт по умолчанию->Щелкните правой кнопкой мыши Свойства->Домашний каталог->Конфигурация->Параметры->Включить состояние сеанса->Тайм-аут сеанса (здесь). Установите желаемый тайм-аут в минутах). ХОРОШО.
2. Установка времени истечения сеанса в приложениях ASP.NET.
В веб-приложениях, таких как ASP.NET, сеанс является распространенным методом, используемым для сохранения статуса пользователя. Однако, поскольку объем памяти сервера ограничен, необходимо установить время истечения срока действия сеанса. Как установить время истечения срока действия сеанса в ASP.NET. Это очень просто. Просто измените конфигурацию web.config.
Конкретный метод модификации следующий: настройте в web.config следующим образом.
Скопируйте код кода следующим образом:
<система.веб>
<sessionState mode=Время ожидания InProc=30/>
</system.web>
Это означает, что срок действия сеанса составляет 30 минут. То есть, если текущий пользователь не работает через 30 минут, срок действия сеанса автоматически истечет.
3. На странице cs, которая вызывает сеанс, напишите следующее в событии Load.
Скопируйте код кода следующим образом:
Сеанс.Таймаут = 30;
4. Сохраните сеанс в государственной службе asp.net.
Скопируйте код кода следующим образом:
<sessionState cookieless=false timeout=480 mode=StateServer stateConnectionString=tcpip=127.0.0.1:42424 sqlConnectionString=источник данных=127.0.0.1;идентификатор пользователя=sa;пароль= />