En la depuración del programa, a veces necesito saber cuántas variables de sesión se usan y cuál es su valor. Dado que el objeto de sesión proporciona una colección llamada contenido, podemos alcanzar el objetivo a través de For ... cada bucle
Dim strname, ilop
Para cada nombre de strn en sesión.
Response.Write Strname & - & Session.Contents (Strname) y [BR]
Próximo
En circunstancias normales, el código anterior puede funcionar bien. Pero cuando la variable de sesión es un objeto o una matriz, los resultados de la impresión son incorrectos. De esta manera modificamos el código de la siguiente manera:
'Primero ver cuántas variables de sesión se usan?
Response.write hay & session.contents.count & _
Variables de sesión <p>
Dim strname, ilop
'Usar para cada uno para verificar la sesión. Contentos
'Si la variable de sesión es una matriz?
If isarray (sesión (strname) entonces entonces
'Cada elemento de una matriz de impresión circular
Para ilop = lbound (session (strname)) a Ubound (sess (strname))
Response.write strname & (& iloop &) - & _
Sesión (strname) (Iloop) y <br>
Próximo
Demás
'En otros casos, simplemente imprima el valor de la variable simplemente
Response.Write Strname & - & Session.Contents (Strname) & <br>
Final si
Próximo
Las variables de sesión a veces no pueden funcionar, ¿por qué? Hay muchas posibilidades: primero, si el cliente no permite que las cookies funcionen, la sesión fallará. Porque la sesión depende de las cookies. En segundo lugar, la sesión tiene la configuración del tiempo de falla. La configuración predeterminada es de 20 minutos. Puede modificarlo así: Directorio web-> Propiedades-> Directorio virtual-> Configuración de aplicaciones-> Configuración-> Opciones de aplicaciones-> Tiempo de sesión o escriba este código: Session.tim Eout = 60. Tercero, la sesión está relacionada con la aplicación web específica. Si el usuario navega desde /products/default.asp a /jobs/default.asp, también puede causar la redacción de la sesión. ¿Cómo borrar una variable de sesión que ya no necesita, pero no hace que la sesión falle? En ASP3.0: Session.Contents.Remove Los nombres de la variable se pueden borrar para eliminar una variable. En ASP2.0: SET SESSION (Nombre de la variable) = NULL para eliminar las variables. En asp3.0, session.contents.removeall puede borrar todas las variables de sesión de session.abandon. ¿Qué significa la parte superior de la página ASP? IIS utiliza una tecnología llamada seguimiento de sesión para garantizar que cada variable de sesión esté disponible en cada página. Cuando un usuario visita una determinada página ASP, IIS primero preparará cada variable de sesión para esta página, que por supuesto tendrá efectos de rendimiento. (¡El costo de usar la variable de sesión siempre es muy alto!) Si tiene 100 páginas y solo se usan 5 páginas para la sesión, entonces para el rendimiento general, solo necesita configurarlo en esas 5 páginas:
< %@ HabilsessionState = True %>
Y otras páginas están configuradas para:
< %@ HabilsessionState = falso %>