Evaluar y enviar comentarios

  Encender vista de ancho de banda bajo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
Referencia general de .NET Framework
Elemento sessionState (Esquema de configuración de ASP.NET)

Configura las opciones de estado de la sesión para la aplicación actual.

Elemento configuration (Esquema de configuración general)
  Elemento system.web (Esquema de configuración de ASP.NET)
    Elemento sessionState (Esquema de configuración de ASP.NET)
<sessionState 
    mode="[Off|InProc|StateServer|SQLServer|Custom]"
    timeout="number of minutes"
    cookieName="session identifier cookie name"
    cookieless=
         "[true|false|AutoDetect|UseCookies|UseUri|UseDeviceProfile]"
    regenerateExpiredSessionId="[True|False]"
    sqlConnectionString="sql connection string"
    sqlCommandTimeout="number of seconds"
    allowCustomSqlDatabase="[True|False]"
    useHostingIdentity="[True|False]"
    stateConnectionString="tcpip=server:port"
    stateNetworkTimeout="number of seconds"
    customProvider="custom provider name">
    <providers>...</providers>
</sessionState>

Las siguientes secciones describen atributos, elementos secundarios y elementos primarios.

Atributos

Atributo Descripción

allowCustomSqlDatabase

Atributo Boolean opcional.

Especifica si la base de datos SQL de estados de sesión puede ser una base de datos personalizada en lugar de la base de datos predeterminada de ASP.NET. Si su valor es false, no se puede especificar un catálogo inicial ni una base de datos como valor del atributo sqlConnectionString. La base de datos SQL predeterminada de estados de sesión es la base de datos ASPState. Para obtener más información, vea Modos de estado de sesión.

Se trata de un atributo nuevo en .NET Framework, versión 2.0.

El valor predeterminado es false.

cookieless

Atributo HttpCookieMode opcional.

Especifica cómo se utilizan las cookies en una aplicación Web.

El atributo cookieless puede tener uno de los siguientes valores posibles. El valor predeterminado es UseCookies.

Valor Descripción

AutoDetect

ASP.NET determina si el explorador o el dispositivo que realizó la solicitud admite cookies. Si admite cookies, AutoDetect las utilizará para conservar los datos del usuario; en caso contrario, se utilizará un identificador en la cadena de consulta. Si admite el uso de cookies pero éstas están deshabilitadas, la característica que realiza la solicitud seguirá utilizándolas.

UseCookies

Las cookies conservan los datos del usuario sin tener en cuenta si el explorador o el dispositivo las admite.

UseDeviceProfile

ASP.NET determina si se pueden utilizar cookies en función del valor de HttpBrowserCapabilities. Si el valor de HttpBrowserCapabilities indica que el explorador o el dispositivo admite cookies, se utilizan cookies; de lo contrario, se utiliza un identificador en la cadena de consulta.

UseUri

La característica que realiza la llamada utiliza la cadena de consulta para almacenar un identificador sin tener en cuenta si el explorador o el dispositivo admite cookies.

cookieName

Atributo String opcional.

Especifica el nombre de la cookie que almacena el identificador de sesión.

Se trata de un atributo nuevo en .NET Framework, versión 2.0.

El valor predeterminado es "ASP.NET_SessionId".

customProvider

Atributo String opcional.

Especifica el nombre de un proveedor de estados de sesión personalizado que se usará para almacenar y recuperar los datos del estado de la sesión. El proveedor se especifica en el elemento providers. Sólo se utiliza el proveedor cuando el modo del estado de la sesión está establecido en el valor Custom. Para obtener más información, vea Modos de estado de sesión.

Se trata de un atributo nuevo en .NET Framework, versión 2.0.

El valor predeterminado es una cadena vacía ("").

mode

Atributo SessionStateMode opcional.

Especifica dónde se almacenan los valores del estado de la sesión. Para obtener más información, vea Modos de estado de sesión.

El atributo mode puede ser uno de los siguientes valores posibles: El valor predeterminado es InProc.

Valor Descripción

Custom

El estado de la sesión usa un almacén de datos personalizado para almacenar su información.

InProc

El estado de la sesión se encuentra en proceso con un proceso de trabajo de ASP.NET.

Off

El estado de la sesión está deshabilitado.

SQLServer

El estado de la sesión utiliza una base de datos de SQL Server fuera de proceso para almacenar la información de estado.

StateServer

El estado de la sesión utiliza el servicio de estado de ASP.NET fuera de proceso para almacenar la información de estado.

partitionResolverType

Atributo String opcional.

Especifica dónde se almacena el estado de la sesión. Si se especifica un valor en el atributo partitionResolverType, se omiten los atributos sqlConnectionString y stateConnectionString. La cadena de conexión devuelta por la propiedad PartitionResolverType se utilizará en cada solicitud con el fin de conectar con la ubicación del servidor adecuado para el resto de la solicitud. Si la cadena de conexión no es válida, ASP.NET generará la misma excepción que cuando la cadena de conexión configurada para el servidor tampoco es válida. Esta propiedad se utiliza para dividir los datos de estado de la sesión en varios nodos de servidor cuando se encuentra en modo de servidor de estado o SQL.

Se trata de un atributo nuevo en .NET Framework, versión 2.0.

El valor predeterminado es una cadena vacía.

regenerateExpiredSessionId

Atributo Boolean opcional.

Especifica si se volverá a emitir el identificador de sesión cuando el cliente especifica un identificador de sesión obsoleto. De manera predeterminada, los identificadores de sesión vuelven a emitirse únicamente para el modo cookieless cuando está habilitado regenerateExpiredSessionId. Para obtener más información, vea IsCookieless.

Se trata de un atributo nuevo en .NET Framework, versión 2.0.

El valor predeterminado es true.

sqlCommandTimeout

Atributo TimeSpan opcional.

Especifica, en segundos, el tiempo de espera para los comandos SQL que utilizan el modo de estado de sesión de SQL Server. El tiempo de espera es el número de segundos durante los cuales un comando SQL puede estar inactivo antes de que quede cancelado.

Se trata de un atributo nuevo en .NET Framework, versión 2.0.

El valor predeterminado es 0:00:30 (30 segundos).

sqlConnectionString

Atributo String opcional.

Especifica la cadena de conexión para un equipo donde se ejecuta SQL Server. Este atributo es necesario cuando el valor del atributo mode está establecido en SQLServer. Para obtener más información, vea Modos de estado de sesión.

NotaNota

Para mejorar la seguridad de la aplicación al utilizar el modo SQLServer, utilice una configuración protegida para ayudar a proteger el valor sqlConnectionString cifrando la sección sessionState de la configuración.

El valor predeterminado es "data source=127.0.0.1;Integrated Security=SSPI".

stateConnectionString

Atributo String opcional.

Especifica el nombre del servidor o la dirección y el puerto donde se almacena el estado de la sesión de forma remota. El valor del puerto debe ser 42424. Este atributo es imprescindible cuando el valor de mode es StateServer. Hay que asegurarse de que el servicio de estado de ASP.NET se está ejecutando en el servidor remoto donde se almacena la información de estado de la sesión. Este servicio se instala con ASP.NET y se encuentra de manera predeterminada en %SystemRoot%\Microsoft.NET\Framework\númeroDeVersión\aspnet_state.exe. Para obtener más información, vea Modos de estado de sesión.

NotaNota

Para mejorar la seguridad de la aplicación al utilizar el modo StateServer, utilice una configuración protegida para ayudar a proteger el valor stateConnectionString cifrando la sección <sessionState> de la configuración.

El valor predeterminado es "tcpip=127.0.0.1:42424".

stateNetworkTimeout

Atributo TimeSpan opcional.

Especifica el número de segundos durante los cuales puede estar inactiva la conexión de red TCP/IP entre el servidor Web y el servidor de estado antes de que se cancele la solicitud. Se utiliza este atributo cuando el valor del atributo mode está establecido en StateServer.

El valor predeterminado es 10 segundos.

timeout

Atributo TimeSpan opcional.

Especifica el número de minutos que una sesión puede estar inactiva antes de que se abandone. El atributo timeout no se puede establecer en un valor mayor que 525.601 minutos (1 año) para los modos en proceso y servidor de estado.

La opción de configuración timeout de la sesión sólo se aplica a las páginas ASP.NET. Cambiar el valor de timeout de la sesión no afecta al tiempo de espera de la sesión para las páginas ASP. De manera similar, cambiar el tiempo de espera de la sesión para las páginas ASP no afecta al tiempo de espera de la sesión para las páginas ASP.NET.

El valor predeterminado es 20 minutos.

useHostingIdentity

Atributo Boolean opcional.

Especifica si el estado de la sesión volverá a la identidad de host o usará la suplantación del cliente.

Si su valor es true, ASP.NET se conecta al almacén de estados de sesión utilizando una de las siguientes credenciales de proceso:

  • El proceso host, que es ASPNET para Servicios de Microsoft Internet Information Server [IIS] 5 y 5.1 o NETWORK SERVICE para Microsoft Windows Server 2003.

  • La identidad de suplantación de la aplicación, siendo éste el caso cuando se utiliza la siguiente configuración:

    <identity impersonate="true" userName="user" password="pwd" />

Si su valor es false, ASP.NET se conecta al almacén de estados de sesión utilizando las credenciales actualmente asociadas al subproceso del sistema operativo para la actual solicitud. Para la suplantación del cliente, ASP.NET se conectará al almacén de estados de sesión utilizando las credenciales de seguridad negociadas con el explorador. Si su valor es false, ASP.NET no recuperará la identidad de proceso o la identidad de suplantación de la aplicación al conectarse al almacén de estados de sesión. Para obtener más información, vea Suplantación de ASP.NET.

Se trata de un atributo nuevo en .NET Framework, versión 2.0.

El valor predeterminado es true.

NotaNota

En .NET Framework 1.1, si el valor del atributo mode era SQLServer y se utilizaba la suplantación del cliente, ASP.NET se conectaba al equipo donde se ejecutaba SQL Server mediante las credenciales de cliente de la suplantación de cliente de ASP.NET.

Atributos heredados

Atributos opcionales.

Atributos heredados por todos los elementos de una sección.

Elementos secundarios

Elemento Descripción

providers

Contiene una colección de proveedores de almacenes de estados de sesión personalizados.

Elementos primarios

Elemento Descripción

configuration

Es el elemento raíz necesario de cada archivo de configuración que utilizan Common Language Runtime y las aplicaciones basadas en .NET Framework.

system.web

Especifica el elemento raíz de los valores de configuración ASP.NET en un archivo de configuración y contiene elementos de configuración que configuran las aplicaciones Web ASP.NET y controlan el comportamiento de las aplicaciones.

El elemento sessionState configura las opciones de estado de la sesión para la aplicación actual.

Cuando un cliente nuevo empieza a interactuar con una aplicación Web, se emite un identificador de sesión que se asocia a todas las solicitudes subsiguientes del mismo cliente durante el tiempo de validez de la sesión. Este identificador se utiliza para mantener el estado del servidor asociado a la sesión del cliente en las solicitudes. El elemento sessionState controla cómo la aplicación ASP.NET establece y mantiene esta asociación para cada cliente.

Este mecanismo es muy flexible y permite alojar la información de estado de la sesión fuera de proceso y realizar un seguimiento del estado sin utilizar cookies, entre otras opciones.

Se puede sobrepasar el tamaño máximo del identificador URI cuando se envía el identificador de sesión en el identificador URI. Si la combinación del vale de identificación anónimo, el vale de autenticación de los formularios, el identificador de sesión y los datos de usuario es mayor que la longitud máxima permitida del identificador URI, se generará el error 400 de solicitud incorrecta.

Para utilizar el modo StateServer
  1. Hay que asegurarse de que el servicio de estado de ASP.NET se está ejecutando en el servidor remoto donde se va a almacenar la información de estado de la sesión.

    El servicio de estado de ASP.NET se instala con ASP.NET y se encuentra de manera predeterminada en %SystemRoot%\Microsoft.NET\Framework\númeroDeVersión\aspnet_state.exe.

  2. En el archivo Web.config de la aplicación, establezca el valor de mode en "StateServer" y el valor de stateConnectionString en, por ejemplo, "tcpip=dataserver:42424".

Para utilizar el modo SQLServer
  1. Ejecute InstallSqlState.sql en el equipo con SQL Server donde se va a almacenar el estado de la sesión.

    De manera predeterminada, InstallSqlState.sql se encuentra en %SystemRoot%\Microsoft.NET\Framework\númeroDeVersión.

    De este modo, se crea una base de datos denominada ASPState con nuevos procedimientos almacenados y tablas denominadas ASPStateTempApplications y ASPStateTempSessions en la base de datos TempDB.

  2. En el archivo Web.config de la aplicación, establezca el valor de mode en "SQLServer" y el valor de sqlConnectionString en, por ejemplo, "data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind".

NotaNota

Se puede usar aspnet_regsql para llevar a cabo estos pasos.

Para obtener información sobre cómo obtener acceso y modificar los valores de configuración del elemento sessionState en el código de una aplicación, vea SessionStateSection y System.Web.SessionState.

El siguiente elemento sessionState predeterminado no se configura explícitamente en el archivo Machine.config o el archivo raíz Web.config. Sin embargo, es la configuración predeterminada la que devuelve la aplicación.

<sessionState 
   mode="InProc" 
   stateConnectionString="tcpip=127.0.0.1:42424" 
   stateNetworkTimeout="10" 
   sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI" 
   sqlCommandTimeout="30" 
   customProvider="" 
   cookieless="UseCookies" 
   cookieName="ASP.NET_SessionId" 
   timeout="20" 
   allowCustomSqlDatabase="false" 
   regenerateExpiredSessionId="true" 
   partitionResolverType="" 
   useHostingIdentity="true">
   <providers>
      <clear />
   </providers>
</sessionState>

En el ejemplo de código siguiente se muestra cómo especificar diversas opciones de configuración del estado de sesión.

<sessionState
   mode="SQLServer"
   cookieless="true"
   sqlConnectionString=" Integrated Security=SSPI;data source=MySqlServer;"
   sqlCommandTimeout="10" />
  </system.web>
</configuration>

Controlador de la sección de configuración

SessionStateSection

Miembro de configuración

System.Web.SessionState

Ubicaciones configurables

Machine.config

Web.config del nivel raíz

Web.config del nivel de aplicaciones

Requisitos

Servicios de Microsoft Internet Information Server 5.0, 5.1 ó 6.0

NET Framework 1.0, 1.1 ó 2.0

Microsoft Visual Studio 2003 o Visual Studio 2005

Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2009 Microsoft Corporation. Reservados todos los derechos. Términos de uso  |  Marcas Registradas  |  Privacidad
Page view tracker