Tutoriales ASP

ASP INICIO

Tutorial de WordPress

Introducción a las páginas web Razor de páginas web Diseño de páginas web Carpetas de páginas web Páginas web globales Formularios de páginas web Objetos de páginas web Archivos de páginas web Bases de datos de páginas web Ayudantes de páginas web Cuadrícula web de páginas web Gráficos de páginas web Correo electrónico de páginas web Seguridad de las páginas web Publicación de páginas web Ejemplos de páginas web Clases de páginas web

Maquinilla de afeitar ASP.NET

Introducción a la maquinilla de afeitar Sintaxis de la maquinilla de afeitar Variables de Razor C# Razor C# Bucles Razor C# Lógica Razor VB Variables Razor Bucles VB Razor VB Lógica

ASP clásico

Introducción ASP Sintaxis ASP Variables ASP Procedimientos ASP Condicionales ASP Bucle ASP Formularios ASP Cookies ASP Sesión ASP Aplicación ASP ASP #incluir ASP Global.asa ASP AJAX correo electrónico ASP Ejemplos de ASP

Referencia ASP

Funciones ASP VB Palabras clave ASP VB Respuesta ASP Solicitud ASP Aplicación ASP Sesión ASP Servidor ASP Error de ASP Sistema de archivos ASP flujo de texto ASP Unidad ASP Archivo ASP Carpeta ASP Diccionario ASP Rotador de anuncios ASP Cap del navegador ASP Enlace de contenido ASP Rotador de contenido ASP Referencia rápida ASP

ADO Tutorial

Introducción a ADO Conectar ADO Conjunto de registros ADO Pantalla ADO Consulta ADO Ordenar ADO Agregar Actualización de ADO ADO Eliminar Demostración de ADO Acelerar ADO

Objetos ADO

Comando ADO Conexión ADO ADO Error Campo ADO Parámetro ADO Propiedad ADO Registro ADO Conjunto de registros ADO Corriente ADO Tipos de datos ADO

Objeto de sesión ASP


Un objeto de sesión almacena información o cambia la configuración de una sesión de usuario.


El objeto de sesión

Cuando está trabajando con una aplicación en su computadora, la abre, hace algunos cambios y luego la cierra. Esto es muy parecido a una sesión. La computadora sabe quién eres. Sabe cuándo abres la aplicación y cuándo la cierras. Sin embargo, en Internet hay un problema: el servidor web no sabe quién eres ni qué haces, porque la dirección HTTP no mantiene el estado.

ASP resuelve este problema creando una cookie única para cada usuario. La cookie se envía a la computadora del usuario y contiene información que identifica al usuario. Esta interfaz se denomina objeto de sesión.

El objeto Session almacena información o cambia la configuración de una sesión de usuario.

Las variables almacenadas en un objeto de sesión contienen información sobre un solo usuario y están disponibles para todas las páginas en una aplicación. La información común almacenada en las variables de sesión son el nombre, la identificación y las preferencias. El servidor crea un nuevo objeto de sesión para cada nuevo usuario y destruye el objeto de sesión cuando la sesión caduca.


¿Cuándo comienza una sesión?

Una sesión comienza cuando:

  • Un nuevo usuario solicita un archivo ASP y el archivo Global.asa incluye un procedimiento Session_OnStart
  • Un valor se almacena en una variable de sesión
  • Un usuario solicita un archivo ASP y el archivo Global.asa usa la etiqueta <objeto> para instanciar un objeto con ámbito de sesión

¿Cuándo termina una sesión?

Una sesión finaliza si un usuario no ha solicitado o actualizado una página en la aplicación durante un período específico. De forma predeterminada, son 20 minutos.

Si desea establecer un intervalo de tiempo de espera que sea más corto o más largo que el predeterminado, use la propiedad Tiempo de espera .

El siguiente ejemplo establece un intervalo de tiempo de espera de 5 minutos:

<%
Session.Timeout=5
%>

Utilice el método Abandon para finalizar una sesión inmediatamente:

<%
Session.Abandon
%>

Nota: El principal problema con las sesiones es CUÁNDO deberían terminar. No sabemos si la última solicitud del usuario fue la definitiva o no. Por lo tanto, no sabemos cuánto tiempo debemos mantener la sesión "viva". Esperar demasiado para una sesión inactiva consume recursos en el servidor, pero si la sesión se elimina demasiado pronto, el usuario debe comenzar de nuevo porque el servidor ha eliminado toda la información. ¡Encontrar el intervalo de tiempo de espera correcto puede ser difícil!

Consejo: ¡Almacene solo PEQUEÑAS cantidades de datos en las variables de sesión!



Almacenar y recuperar variables de sesión

Lo más importante del objeto Session es que puedes almacenar variables en él.

El siguiente ejemplo establecerá el nombre de usuario de la variable de sesión en "Pato Donald" y la edad de la variable de sesión en "50":

<%
Session("username")="Donald Duck"
Session("age")=50
%>

Cuando el valor se almacena en una variable de sesión, se puede acceder desde CUALQUIER página en la aplicación ASP:

Welcome <%Response.Write(Session("username"))%>

La línea de arriba devuelve: "Bienvenido Donald Duck".

También puede almacenar las preferencias del usuario en el objeto Sesión y luego acceder a esa preferencia para elegir qué página devolver al usuario.

El siguiente ejemplo especifica una versión de solo texto de la página si el usuario tiene una resolución de pantalla baja:

<%If Session("screenres")="low" Then%>
  This is the text version of the page
<%Else%>
  This is the multimedia version of the page
<%End If%>

Eliminar variables de sesión

La colección Contents contiene todas las variables de sesión.

Es posible eliminar una variable de sesión con el método Remove.

El siguiente ejemplo elimina la variable de sesión "venta" si el valor de la variable de sesión "edad" es inferior a 18:

<%
If Session.Contents("age")<18 then
  Session.Contents.Remove("sale")
End If
%>

Para eliminar todas las variables en una sesión, use el método RemoveAll:

<%
Session.Contents.RemoveAll()
%>

Bucle a través de la colección de contenidos

La colección Contents contiene todas las variables de sesión. Puede recorrer la colección Contenidos para ver lo que está almacenado en ella:

<%
Session("username")="Donald Duck"
Session("age")=50

dim i
For Each i in Session.Contents
  Response.Write(i & "<br>")
Next
%>

Resultado:

username
age

Si no conoce la cantidad de elementos en la colección de contenido, puede usar la propiedad Count:

<%
dim i
dim j
j=Session.Contents.Count
Response.Write("Session variables: " & j)
For i=1 to j
  Response.Write(Session.Contents(i) & "<br>")
Next
%>

Resultado:

Session variables: 2
Donald Duck
50

Bucle a través de la colección StaticObjects

Puede recorrer la colección StaticObjects para ver los valores de todos los objetos almacenados en el objeto Session:

<%
dim i
For Each i in Session.StaticObjects
  Response.Write(i & "<br>")
Next
%>