Cómo funciona el objeto Session en ASP.NET

En este artículo te contamos como funciona el objeto Session de ASP.NET.

Vamos a contar como funciona la sesión sobre el IIS y su relación con la cookie ASP.NET_SessionId

1. Awesome Cookie Manager de Google Chrome

En primer lugar vamos a añadir a Google Chrome la extensión Awesome Cookie Manager.

Más adelante vamos a necesitar esta extensión para entener el concepto de Sesión en ASP.NET.

2. El objeto Session de ASP.NET

Este objeto está disponible en la plataforma ASP.NET. En este ejemplo nos vamos a centrar para los proyectos de tipo Web Forms y MVC:

Sesion .NET 1

El objeto Session trabaja sobre el protocolo HTTP:

Sesion .NET 2

El objeto Session es de tipo HttpSessionStateBase se comporta a nivel de C# como un diccionario.

Extiende las clases ICollection, IEnumerable.

Desde un Controller de MVC o desde un Web Forms se invoca de esta manera:

Sesion .NET 3

Desde una clase de negocio, como un Servicio de Aplicación, se utiliza de esta manera:

Sesion .NET 4

3. Cómo funciona el objeto Session de ASP.NET

Cuando se introduce una nueva clave dentro del objeto Session, no será efectiva hasta que se haya realizado una petición HTTP (Request) al servidor.

Tras el Request, el servidor enviará un Response al cliente.

El servidor al devolver el Response, establece a nivel de Browser una cookie llamada ASP.NET_SessionId.

Ahora es el momento de utilizar la extensión Awesome Cookie Manager:

Sesion .NET 5

4. Que es ASP.NET_SessionId

Es una cookie que se establece en el Browser (navegador) cuando la web desplegada sobre el IIS devuelve un Response para un Request que tuviese establecido el objeto Session.

5. Relación entre el IIS y la cookie ASP.NET_SessionId

La Release de una web en ASP.NET MVC o Web Forms estará desplegada en el 99% de los casos sobre un IIS (Internet Information Server).

Esto significa que nuestro navegador cuando visita una web en .NET tiene asociado un usuario sobre el IIS que se traduce en el Value de la cookie ASP.NET_SessionId:

Sesion .NET 6

6. Qué significa perder la Sesión

Si trabajamos en localhost en Visual Studio, nuestra aplicaciones se ejecutan sobre el IIS Express. Lo que significa que perder la sesión es que la key establecida sobre el objeto Session toma el valor null.

Para una release, desplegada en el IIS de un entorno de producción, perder la sesión implica que desde el punto de vista del Browser, la cookie ASP.NET_SessionId expira.

Miguel

Ingeniero en Informática | Arquitecto .NET

Experto en Desarrollo Web y consultoría SEO.

  miguel@amgrafic.com
  91 527 86 97

Sigue aprendiendo con nuestro Blog

Diccionario SEO

Diccionario SEO

Diccionario SEO con todos los términos necesarios para optimizar y posicionar tu web.

Como elegir agencia SEO

Cómo elegir agencia SEO

Elegir una agencia SEO es muy importante para el éxito de tu proyecto. Te lo contamos en este artículo.

Scrum y SEO

Evitar el SEO barato y porqué no funciona

El SEO barato no funciona y no va a funcionar.