miércoles, 23 de enero de 2013

Estado de Sesion de ASP.NET



El estado de sesión de ASP.NET se habilita de forma predeterminada en todas las aplicaciones ASP.NET. Las variables de estado de sesión de ASP.NET se definen con facilidad y se recuperan mediante la propiedad Session, que almacena los valores de las variables de la sesión como una colección indizada por nombre.
Por ejemplo, mediante el ejemplo de código siguiente se crean las variables de sesión Nombre y Apellido para representar el nombre y el apellido de un usuario, y las variables se establecen en los valores recuperados de los controles TextBox.

Session("Nombre") = txtNombre.Text
Session("Apellido") = txtApellido.Text

Las variables de sesión pueden ser cualquier tipo .NET válido,  podemos almacenar inclusive objetos como datatable o dataset.
De forma predeterminada, ASP.NET almacena la información de la sesión en el espacio de memoria de la aplicación ASP.NET. Si lo desea, puede almacenar la información de la sesión mediante un servicio independiente para que no se pierda si se reinicie la aplicación ASP.NET en un servidor SQL Server.

Solicitudes simultáneas

El acceso al estado de sesión de ASP.NET es exclusivo para cada sesión, lo que significa que si dos usuarios diferentes realizan solicitudes simultáneas, se concederá simultáneamente acceso a dos sesiones diferentes. Sin embargo, si se realizan dos solicitudes simultáneas para la misma sesión (es decir, utilizando el mismo valor SessionID ), la primera solicitud recibida tendrá acceso exclusivo a la información de la sesión, mientras que la segunda solicitud se ejecutará cuando finalice la primera sesión o hasta que el bloqueo exclusivo de la información se libere porque la primera solicitud ha excedido el tiempo de espera del bloqueo

Modos de estado de sesión

In Proc, es el valor por defecto, todos los modos excepto InProc y Off necesitan configuración adicional, como cadenas de conexión o configuración de IP donde deberán conectarse.
  • Modo InProc,  que almacena el estado de sesión en memoria en el servidor Web. Éste es el valor predeterminado.
  • Modo StateServer,  que almacena el estado de sesión en un proceso distinto denominado "servicio de estado de ASP.NET". Este modo garantiza que el estado de sesión se mantiene si se reinicia la aplicación Web y que esté disponible también para varios servidores Web en una batería de servidores Web.
  • Modo SQLServer, que almacena el estado de sesión en una base de datos de SQL Server. Este modo garantiza que el estado de sesión se mantiene si se reinicia la aplicación Web y que esté disponible también para varios servidores Web en una batería de servidores Web.
  • Modo Custom, que permite especificar un proveedor de almacenamiento personalizado.
  • Modo Off, que deshabilita el estado de sesión.

No hay comentarios:

Publicar un comentario