Deshabilitar el estado de sesión de ASP en ASP.NET

En este artículo se muestra cómo deshabilitar el estado de sesión en ASP.NET.

              Versión original del producto: ASP.NET
Número de KB original: 306996

Resumen

Cuando el estado de la sesión está habilitado, ASP.NET crea una sesión para cada usuario que accede a la aplicación, que se usa para identificar al usuario en las páginas de la aplicación. Cuando el estado de sesión está deshabilitado, no se realiza un seguimiento de los datos de usuario y no se puede almacenar información en el Session objeto ni usar los Session_OnStart eventos o Session_OnEnd . Al deshabilitar el estado de sesión, puede aumentar el rendimiento si la aplicación o la página no requieren el estado de sesión para habilitarlo.

En ASP.NET, si no usa el Session objeto para almacenar datos o si se controla alguno de los Session eventos (Session_OnStart o Session_OnEnd), el estado de la sesión se deshabilita. Se crea una nueva Session.SessionID cada vez que se actualiza una sola página en una sesión del explorador.

Deshabilitar el estado de sesión en el nivel de aplicación

En los pasos siguientes se muestra cómo deshabilitar el estado de sesión en el nivel de aplicación, lo que afecta a todas las páginas de la aplicación:

  1. Inicie Microsoft Visual Studio .NET y cree una nueva aplicación web ASP.NET.
  2. En Explorador de soluciones, haga doble clic en Web.config para ver el contenido de este archivo.
  3. Busque la <sessionState> sección y establezca el valor de modo en Desactivado.
  4. Guarde el archivo o el proyecto para deshabilitar el estado de sesión en todas las páginas de la aplicación.

Deshabilitar el estado de sesión en el nivel de página

En los pasos siguientes se muestra cómo deshabilitar el estado de sesión en el nivel de página, lo que afecta solo a las páginas específicas que habilitan estos cambios:

  1. Inicie Visual Studio .NET y cree una nueva aplicación web ASP.NET.

  2. En Explorador de soluciones, haga doble clic en el formulario web para el que desea deshabilitar el estado de sesión.

  3. Seleccione la pestaña HTML .

  4. En la parte superior de la página, agregue EnableSessionState="false" la directiva @ Page. El atributo modificado debe ser similar al siguiente:

    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
    AutoEventWireup="false" Inherits="WebApplication1.WebForm1"
    EnableSessionState="false" %>
    
  5. Guarde el archivo o el proyecto para deshabilitar el estado de sesión en todas las páginas de la aplicación.

Solución de problemas

Si intenta establecer o recuperar información cuando el estado de sesión está deshabilitado, recibirá el siguiente mensaje de error:

El estado de sesión solo se puede usar cuando enableSessionState se establece en true, ya sea en un archivo de configuración o en la directiva Page.

Referencias