El tiempo de vencimiento predeterminado de la sesión en ASP es de 20 minutos, lo que en muchos casos no es suficiente. Hoy en día, hay muchas solicitudes de clientes para iniciar sesión nuevamente, por lo que he preparado este artículo para comodidad de los amigos que lo necesitan. El tiempo de vencimiento no está establecido en el programa, entonces la sesión expira. El tiempo se ejecutará de acuerdo con el tiempo de vencimiento establecido por IIS. El tiempo de vencimiento predeterminado de la sesión en IIS es de 20 minutos.
La configuración de la hora debe colocarse primero.
Por ejemplo
Copie el código de código de la siguiente manera:
Session.Timeout=30 'SEESION es válida por 30 minutos
Sesión(ID)=Rs(id)
Sesión(Nombre)=Rs(Nombre)
Sesión(Pase)=Rs(Pase
Utilice la propiedad Session.Timeout para establecer el período de tiempo de espera
Para un usuario que inicia sesión en una aplicación ASP, si el usuario no realiza ninguna otra operación dentro del tiempo predeterminado del sistema, la sesión del usuario se revocará automáticamente cuando finalice el tiempo establecido, evitando así que se desperdicien recursos del sistema. La propiedad TimeOut del objeto Session se puede utilizar para establecer el tiempo de vencimiento en minutos. El formato de configuración es:
Copie el código de código de la siguiente manera:
Session.TimeOut=Tiempo máximo
Código de ejemplo: página (5.asp), este ejemplo muestra cómo controlar el final de la sesión.
Copie el código de código de la siguiente manera:
<%@ idioma=vbscript %>
<% sesión.tiempo de espera=60 %>
<html>
<head><title>Controlar la hora de finalización de la sesión</title><head>
<cuerpo>
<%
quién = sesión.ID de sesión
Página actual=Solicitud.Variables del servidor(SCRIPT_NAME)
Response.AppendTolog quién &: & CurrentPage
Response.write <centro>Su ID de sesión es: & quién & <p>
Response.write La ruta de la página que estás visitando actualmente es: & CurrentPage & <p>
si Sesión(I)= entonces
sesión(i)=1
demás
sesión(i)=sesión(i)+1
terminar si
Sesión.Abandonar
Response.write Esta página ha sido actualizada & Sesión(i) & veces por usted. </centro>
%>
En las aplicaciones Asp.net, muchas personas encontrarán conflictos en la configuración de caducidad de la sesión. Entre ellas, hay cuatro formas de establecer el tiempo de vencimiento de la sesión:
1. Nivel de sitio web global (es decir, servidor)
IIS-Website-Properties-Asp.net-Editar configuración-Administración de estado-Tiempo de espera de la sesión (minutos) -Establecer en 120, que son 2 horas, es decir, si el usuario actual no opera después de 120 minutos, la sesión caducará automáticamente .
2. Nivel del sitio web
IIS - Sitio web - Sitio web específico (como DemoSite) - Propiedades - Asp.net Hay dos opciones en este momento, una es editar la configuración global y la otra es editar la configuración.
Si edita la configuración global, será la misma que la configuración anterior.
Si edita la configuración, solo tendrá efecto en el sitio web actual. Porque un servidor puede tener muchos sitios web independientes.
1. Continúe seleccionando Gestión de estado - Tiempo de espera de sesión (minutos) - establecido en 360, es decir, 360 minutos. El efecto es el mismo que el anterior, pero solo tiene efecto en el sitio web actual.
2. Autenticación de identidad-Formularios-Tiempo de espera de Cooke, seleccione 12:00:00, que son 12 horas. Hay ocho opciones disponibles:
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
Es decir, el máximo es de 24 horas y el mínimo de 15 minutos. Esta es la configuración predeterminada. Se puede personalizar libremente en la aplicación.
3. Nivel de aplicación
Igual que la gestión de sitios web, excepto que el alcance se limita a la aplicación actual.
4. Nivel de página
En una página determinada, establezca Session.Timeout = 30 para modificar temporalmente el tiempo de vencimiento de la sesión de una página determinada.
Para verificar el tiempo de vencimiento de una sesión, puede usar
Copie el código de código de la siguiente manera:
TimeSpan SessTimeOut = nuevo TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
TimeSpan SessTimeOut = nuevo TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
Entre ellos, las configuraciones dos y tres se reflejan en Web.config:
Copie el código de código de la siguiente manera:
¿Ver copia simple en el portapapeles?
<?versión xml=1.0?>
<configuración>
<sistema.web>
<modo de autenticación=Formularios>
<forms nombre=AuthLogin loginUrl=/Login.aspx protección=Todo el tiempo de espera=360 slideExpiration=true/>
</autenticación>
<modo de estado de sesión=InProc sin cookies=falso tiempo de espera=20 />
</sistema.web>
<ruta de ubicación=Iniciar sesión.aspx>
<sistema.web>
<autorización>
<permitir usuarios=* />
</autorización>
</sistema.web>
</ubicación>
</configuración>
<?versión xml=1.0?>
<configuración>
<sistema.web>
<modo de autenticación=Formularios>
<forms nombre=AuthLogin loginUrl=/Login.aspx protección=Todo el tiempo de espera=360 slideExpiration=true/>
</autenticación>
<modo de estado de sesión=InProc sin cookies=falso tiempo de espera=20 />
</sistema.web>
<ruta de ubicación=Iniciar sesión.aspx>
<sistema.web>
<autorización>
<permitir usuarios=* />
</autorización>
</sistema.web>
</ubicación>
</configuración>
La prioridad de las cuatro configuraciones anteriores es nivel de página > nivel de aplicación > nivel de sitio web > nivel de servidor. En otras palabras, si la página está configurada en 20 minutos y el sitio web está configurado en 120 minutos, entonces 20 minutos será obviamente el tiempo de vencimiento efectivo.
Otro punto digno de mención.
En la segunda configuración, establezca el tiempo de espera de la sesión (SessionState) en 120 minutos y use la autenticación de formularios al mismo tiempo. Configúrelo en 00:15:00, que es 15 minutos, y slideExpirationo es falso. tiempo que hace efecto?
Un resultado válido es la configuración de SessionState, que es 120 minutos.
Si el tiempo de vencimiento de la sesión está establecido pero no tiene efecto, verifique las configuraciones anteriores.
Otros métodos encontrados en línea
1. Sistema operativo: Windows Server 2003
Pasos: Inicio->Herramientas administrativas->Administrador de Servicios de Información de Internet (IIS)->Sitio web->Sitio web predeterminado->Haga clic con el botón derecho en Propiedades->Directorio de inicio->Configuración->Opciones->Habilitar estado de sesión->Tiempo de espera de sesión (aquí Establezca el tiempo de espera que desee en minutos). DE ACUERDO.
2. Configurar el tiempo de vencimiento de la sesión en aplicaciones ASP.NET
En aplicaciones web como ASP.NET, la sesión es un método común utilizado para guardar el estado del usuario. Sin embargo, dado que el espacio de memoria del servidor es limitado, es necesario configurar el tiempo de vencimiento de la sesión. ¿Cómo configurar el tiempo de vencimiento de la sesión en ASP.NET? Es muy simple. Simplemente modifique la configuración de web.config.
El método de modificación específico es el siguiente, configúrelo de la siguiente manera en web.config
Copie el código de código de la siguiente manera:
<sistema.web>
<modo de estado de sesión=tiempo de espera de InProc=30/>
</sistema.web>
A lo que esto se refiere es que el tiempo de vencimiento de la sesión es de 30 minutos. Es decir, si el usuario actual no opera después de 30 minutos, la sesión caducará automáticamente.
3. En la página cs que llama a Session, escriba lo siguiente en el evento Load
Copie el código de código de la siguiente manera:
Sesión.Tiempo de espera = 30;
4. Almacenar sesión en el servicio de estado asp.net
Copie el código de código de la siguiente manera:
<sessionState cookieless=false tiempo de espera=480 modo=StateServer stateConnectionString=tcpip=127.0.0.1:42424 sqlConnectionString=fuente de datos=127.0.0.1;id de usuario=sa;contraseña= />