¿Te has preguntado cómo se almacenan los datos en un sitio web? Bienvenidos a este artículo en el que hablaremos sobre el objeto de sesión ASP. Si eres un desarrollador web o estás estudiando programación, seguramente ya has oído hablar de él, pero si no es así, te invitamos a continuar leyendo para entender su funcionamiento y por qué es tan importante en la creación de aplicaciones web exitosas. En TIEngranaje estamos aquí para explicártelo todo de manera sencilla y clara. ¡Comencemos!
El ASP Session Object
es una herramienta muy valiosa. Principalmente le permite almacenar información específica sobre cada visitante mientras accede activamente a su sitio web. La información sobre el usuario, como su nombre de usuario, función y contenido del carrito de compras, son solo algunas de las cosas que se rastrean comúnmente cuando sus visitantes acceden a sus páginas.
El session object
le permite almacenar esta información y acceder a ella desde las diferentes páginas de su sitio para que no tenga que preocuparse por pasar esta información de una página a otra como lo haría con una cadena de consulta típica o datos de formulario. El session object
permanece disponible hasta que caduca la sesión (20 minutos de forma predeterminada) o hasta que abandona la variable de sesión mediante programación.
Desde HTTP
no mantiene estado a través de las páginas, podemos usar el objeto de sesión para almacenar información. 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 llama Session object
.
Como se mencionó anteriormente, la información almacenada en el Session object
contiene información sobre un solo usuario y está disponible para todas las páginas en una aplicación. Información común almacenada en session
las variables son nombre, identificacióny preferencias. El servidor crea un nuevo Session object
para cada nuevo usuario y destruye el Session object
cuando caduca la sesión.
El Session object
Las colecciones, métodos, propiedades y eventos de son los siguientes:
Colecciones
Recopilación | Descripción |
---|---|
Contents |
Contiene todos los elementos agregados a la sesión a través de un comando de secuencia de comandos |
StaticObjects |
Contiene todos los objetos añadidos a la sesión con el HTML <object> elemento (es decir, en global.asa) |
Métodos
Método | Descripción |
---|---|
Abandon |
Destruye una sesión de usuario |
Contents.Remove |
Elimina un elemento de la colección Contenidos |
Contents.RemoveAll() |
Elimina todos los elementos de la colección Contenidos |
Propiedades
Propiedades | Descripción |
---|---|
Contents.Count |
Devuelve el número de elementos en la colección de contenido |
SessionID |
Devuelve una identificación única generada por el servidor para un usuario |
Timeout |
Establece o devuelve el período de tiempo de espera en minutos para el objeto Sesión |
Eventos
Evento | Descripción |
---|---|
Session_OnStart |
Se produce cuando se inicia una sesión. |
Session_OnEnd |
Ocurre cuando finaliza una sesión. |
Ejemplos
Almacenar y recuperar variables de sesión
Los más comunes usos Para el session object
son para almacenar y recuperar información. Usted crea y/o modifica la información de la variable de sesión especificando el nombre de la variable entre comillas. Si asigna datos de cadena a la sesión, encapsule también esos datos entre comillas. Si desea asignar datos numéricos, no se necesitan comillas.
<%
Session("username")="jsmith"
Session("userid")=1204
%>
<%
Response.Write(Session("username"))
%>
Eliminar variables de sesión
Puede eliminar fácilmente una variable de la Contents
colección o todas las variables usando un comando. Usa el Remove
o RemoveAll
método.
<%
Session.Contents.Remove("userid")
Session.Contents.RemoveAll()
%>
Hora de término de la sesión
El tiempo de espera predeterminado para una sesión de usuario es de 20 minutos de inactividad. Este intervalo se puede cambiar usando el Timeout
Propiedad. Además, puede abandonar la sesión utilizando el Abandon
método.
<%
Session.Timeout=10
Session.Adandon
%>
Eventos Global.asa
En el siguiente ejemplo, podemos usar el Session_OnStart
y Session_OnEnd
eventos (definidos en el Global.asa
archivo) para mantener un recuento de los usuarios activos que acceden a nuestro servidor web.
<script language="vbscript" runat="server">
Sub Session_OnStart
Application.Lock
Application("users") = Application("users") + 1
Application.UnLock
End Sub
Sub Session_OnEnd
Application.Lock
Application("users") = Application("users") - 1
Application.UnLock
End Sub
</script>
En tus página ASP:
<%
Response.Write("There are " & Application("users") & " users online.")
%>