Compartir a través de


Sesión de ASP <session>

Información general

El elemento <session> del elemento <asp> especifica la configuración de estado de sesión de las páginas Active Server (ASP). Mediante el estado de sesión, Internet Information Services (IIS) 7 almacena información sobre cada sesión de cliente única. Por ejemplo, si el sitio web tiene una aplicación de carro de la compra, el contenido del carro de la compra de cada cliente se puede almacenar en el estado de sesión.

Debe tener recursos de memoria en el servidor para conservar el estado de sesión de ASP; la cantidad de memoria necesaria varía en función de la cantidad de información que se almacena en cada sesión. Para ayudar a regular los recursos que IIS 7 va a usar, puede especificar la configuración del estado de sesión. Por ejemplo, el atributo max especifica el número máximo de sesiones que se van a almacenar y el atributo timeout especifica la duración de cada sesión de ASP.

Si las aplicaciones no requieren el estado de sesión, establezca el atributo allowSessionState en false para deshabilitar el estado de sesión de ASP.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <session> no se modificó en IIS 10.0.
IIS 8.5 El elemento <session> no se modificó en IIS 8.5.
IIS 8.0 El elemento <session> no se modificó en IIS 8.0.
IIS 7.5 El elemento <session> no se modificó en IIS 7.5.
IIS 7.0 El elemento <session> del elemento <asp> se introdujo en IIS 7.0.
IIS 6,0 El elemento <session> reemplaza las siguientes propiedades de metabase de IIS 6.0:
  • AspAllowSessionState
  • AspKeepSessionIDSecure
  • AspSessionMax
  • AspSessionTimeout

Configuración

Para admitir y configurar aplicaciones ASP en el servidor web, debe instalar el módulo ASP. Para instalar el módulo ASP, siga estos pasos.

Windows Server 2012 o Windows Server 2012 R2

  1. En la barra de tareas, haga clic en Administrador del servidor.
  2. En Administrador del servidor, haga clic en el menú Administrar y, después, haga clic en Agregar roles y características.
  3. En el asistente para Agregar roles y características, haga clic en Siguiente. Seleccione el tipo de instalación y haga clic en Siguiente. Seleccione el servidor de destino y haga clic en Siguiente.
  4. En la página Roles de servidor, expanda sucesivamente Servidor web (IIS), Servidor web y Desarrollo de aplicaciones y, a continuación, seleccione ASP.
    Image of Web Server and Application Development pane expanded with A S P selected.
  5. Si el aparece el cuadro de diálogo ¿Agregar características necesarias para ASP?, haga clic en Agregar características. (Esta página solo aparece si aún no se ha instalado el servicio de rol de extensiones de ISAPI en el servidor).
  6. En la página Roles de servidor, haga clic en Siguiente.
  7. En la página Seleccionar características, haz clic en Siguiente.
  8. En la página Confirmar selecciones de instalación, haga clic en Instalar.
  9. En la página Resultados , haga clic en Cerrar.

Windows 8 o Windows 8.1

  1. En la pantalla Inicio, mueva el puntero hasta la esquina inferior izquierda, haga clic con el botón derecho en el botón Inicio y, a continuación, haga clic en Panel de control.

  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.

  3. Expanda sucesivamente Internet Information Services, World Wide Web Services y Características de desarrollo de aplicaciones y, a continuación, seleccione ASP.
    Screenshot of Turn Windows on or off feature page with Application Development Features pane expanded and A S P selected.

    Nota:

    El rol de extensiones ISAPI se seleccionará si aún no se ha instalado.

  4. Haga clic en OK.

  5. Haga clic en Cerrar.

Windows Server 2008 o Windows Server 2008 R2

  1. En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, luego, haga clic en Administrador del servidor.
  2. En el panel de jerarquía del Administrador del servidor, expanda Roles y, luego, haga clic en Servidor web (IIS).
  3. En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, luego, haga clic en Agregar servicios de rol.
  4. En la página Seleccionar servicios de rol del Asistente para agregar servicios de rol, seleccione ASP.
    Screenshot of Select Role Services page of the Add Role Services Wizard displaying A S P selected.
  5. Si aparece el cuadro de diálogo Agregar servicios de rol necesarios para ASP, haga clic en Agregar servicios de rol necesarios. (Esta página solo aparece si aún no se ha instalado el servicio de rol de extensiones de ISAPI en el servidor).
    Screenshot of Add Role Services dialog box displaying the Add role services required for A S P question and Add Required Role Services button.
  6. En la página Seleccionar servicios de rol, haga clic en Siguiente.
  7. En la página Confirmar selecciones de instalación, haz clic en Instalar.
  8. En la página Resultados , haga clic en Cerrar.

Windows Vista o Windows 7

  1. En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
  3. Expanda Internet Information Services, luego World Wide Web Services y luego Características de desarrollo de aplicaciones.
  4. Seleccione ASP y después haga clic en Aceptar.
    Screenshot of Turn Windows features on or off page displaying Application Development Features pane expanded and A S P selected.

Procedimientos

Cómo configurar los valores de estado de sesión de ASP para un sitio o aplicación

  1. Abra el Administrador de Internet Information Services (IIS):

    • Si usa Windows Server 2012 o Windows Server 2012 R2:

      • En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
    • Si usa Windows 8 o Windows 8.1:

      • Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
      • Haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Server 2008 o Windows Server 2008 R2:

      • En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Vista o Windows 7:

      • En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, expanda el nombre del servidor, expanda Sitios y, a continuación, vaya al sitio web o a la aplicación web que desea configurar.

  3. En el panel Inicio del sitio o la aplicación, haga doble clic en ASP.
    Screenshot pf application Home pane displaying A S P highlighted.

  4. En el panel ASP, expanda la sección Propiedades de la sesión y establezca la configuración deseada.
    Image of A S P pane with Session Properties section expanded and highlighted.

  5. Haga clic en Aplicar en el panel Acciones.

Configuración

Atributos

Atributo Descripción
allowSessionState Atributo Boolean opcional.

Especifica si está habilitada la persistencia del estado de sesión para una aplicación ASP.

El valor predeterminado es true.
keepSessionIdSecure Atributo Boolean opcional.

Especifica si un identificador de sesión se envía como cookie segura si se asigna a través de un canal de sesión seguro.

El valor predeterminado es true.
max Atributo uint opcional.

Especifica el número máximo de sesiones simultáneas.

El valor predeterminado es 4294967295.
timeout Atributo timeSpan opcional.

Especifica el período de tiempo máximo (hh:mm:ss) durante el cual se mantiene un objeto de sesión después de que se realice la última solicitud asociada al objeto.

El valor predeterminado es 00:20:00.

Elementos secundarios

Ninguno.

Ejemplo de configuración

En el ejemplo de configuración siguiente se habilita el estado de sesión de ASP, se establece el número máximo de sesiones ASP en 1000 y se establece el tiempo de espera de la sesión en 10 minutos para el sitio web predeterminado.

<location path="Default Web Site">
   <system.webServer>
      <asp>
         <session allowSessionState="true" max="1000" timeout="00:10:00" />
      </asp>
   </system.webServer>
</location>

Código de ejemplo

Los ejemplos de código siguientes habilitan el estado de sesión de ASP, establecen el número máximo de sesiones ASP en 1000 y establecen el tiempo de espera de la sesión en 10 minutos para el sitio web predeterminado.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/asp /session.allowSessionState:"True" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /session.max:"1000" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /session.timeout:"00:10:00" /commit:apphost

Nota:

Debe asegurarse de establecer el parámetro de confirmación en apphost cuando use AppCmd.exe para configurar estas opciones. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection aspSection = config.GetSection("system.webServer/asp", "Default Web Site");

         ConfigurationElement sessionElement = aspSection.GetChildElement("session");
         sessionElement["allowSessionState"] = true;
         sessionElement["max"] = 1000;
         sessionElement["timeout"] = TimeSpan.Parse("00:10:00");

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim aspSection As ConfigurationSection = config.GetSection("system.webServer/asp", "Default Web Site")

      Dim sessionElement As ConfigurationElement = aspSection.GetChildElement("session")
      sessionElement("allowSessionState") = True
      sessionElement("max") = 1000
      sessionElement("timeout") = TimeSpan.Parse("00:10:00")

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Default Web Site");

var sessionElement = aspSection.ChildElements.Item("session");
sessionElement.Properties.Item("allowSessionState").Value = true;
sessionElement.Properties.Item("max").Value = 1000;
sessionElement.Properties.Item("timeout").Value = "00:10:00";

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set aspSection = adminManager.GetAdminSection("system.webServer/asp", "MACHINE/WEBROOT/APPHOST/Default Web Site")

Set sessionElement = aspSection.ChildElements.Item("session")
sessionElement.Properties.Item("allowSessionState").Value = True
sessionElement.Properties.Item("max").Value = 1000
sessionElement.Properties.Item("timeout").Value = "00:10:00"

adminManager.CommitChanges()