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 lograr el objetivo a través de ... cada bucle: Dim strname, Iloop, Iloop
Para cada nombre de strn en sesión.
Response.Write Strname & " -" & Session.Contents (Strname) y "<br>"
En general, 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 busque cuántas variables de sesión están usando?
"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) y "<br>"
Final si
Las próximas variables de sesión a veces 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 espera de sesión
O en ASP, escriba dicho código: session.timeout = 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 "Nombre variable"
Puede eliminar una variable.
En ASP2.0:
Establecer sesión ("Nombre variable") = NULL
Puede borrar variables.
En asp3.0,
Session.contents.removeal
Puede borrar todas las variables de sesión y la sesión. Abandon. ¿Qué significa < %@ habilsessionState = verdadero %> en 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 %>