Problema de tiempo de espera de inicio de sesión del sistema de gestión en segundo plano ASP del cliente
Método para mantener la sesión: Después de las pruebas, se encontró que el valor máximo es 24 horas, lo que significa que el máximo que puedes tener es session.timeout=1440, y 1441 no está permitido, jaja.
Entorno de prueba: win2003 IIS6.0 ASP3.0. ?
Por lo tanto, es imposible hacer que la sesión nunca expire estableciendo el tiempo de vencimiento de session.timeout. Escribir en Cookies es un método mejor. Hay muchos tutoriales de este tipo en Internet, ¡así que no los analizaré aquí! Otro método es configurar un iframe oculto en la página donde se mantendrá la sesión. De vez en cuando (este tiempo es menor que el tiempo de espera de la sesión), actualice la página vacía en el marco. El método de implementación es el siguiente:?
En la página para mantener la sesión, agregue:?lt;iframe?width=0?height=0?src="/blog/SessionKeeper.asp"gt; ?lt;/iframegt ;
Cree el archivo SessionKeeper.asp en el mismo directorio. ?lt;htmlgt;?
lt;headgt;?
lt;meta?http-equiv="Refresh"?content="900000;url=sessionKeeper.asp"gt; ?
lt;!--Se actualiza cada 900 segundos para comunicarse con el servidor y evitar que se pierda la sesión--gt;?
lt;/headgt;?
lt;/htmlgt;
Este método es relativamente común y existe otro método similar al anterior, pero no utiliza meta para actualizar automáticamente el método de iframes anidados. Utiliza javascript: window.setTimeout("functionname()", 10000); un método que llama automáticamente a una función después de un período de tiempo. Por supuesto, la función aún necesita conectarse a un archivo vacío. El método específico es el siguiente:?
En la sesión a mantener, agregue:?lt;script?id=Back?language=javascriptgt;lt;/scriptgt;?
lt;script? language=javascriptgt;?
función?keepsession(){?
document.all["Volver"].src="/blog/SessionKeeper.asp?RandStr =" Math. random();?
//¿El RandStr=Math.random aquí es solo para hacer que el valor de back.src sea diferente cada vez para evitar la actualización no válida de la misma dirección? p>
window.setTimeout("keepsession()", 900000);?// ¿Se llama a sí mismo cada 900 segundos?
}?
keepsession();? p>
lt;/scriptgt;
De esta manera, ¡simplemente cree un archivo sessionKeeper.asp con contenido vacío en el mismo directorio! ?