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 -
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.
-
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 -
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.
-
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".
Nota |
|---|
| 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.

Configuración predeterminada
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>