..
El desarrollo y despliegue de aplicaciones web requiere un seguimiento del estado de la misma en todo momento. Uno de los estados más importantes se relaciona con el período de sesiones (del estado de sesión) y ASP.NET proporciona un gran apoyo para su gestión.
En este punto, la guía debe quedar claro que en la programación de aplicaciones web desarrolladas servir a múltiples usuarios, distribuidos en un área grande, sobre la base de un protocolo sin conexión (HTTP).
Cuando el estado de sesión está habilitada para cada solicitud, ASP.NET crea un objeto de nueva sesión, que se convierte en parte del contexto y es accesible a través de la página. En este objeto se le asigna un identificador y se convierte en un contenedor de la mano de la información, cuya duración es mayor que la página se refiere.
El objeto Session es un diccionario de pares nombre / valor, ya través de ella se puede enlazar cualquier objeto a una llave para que pueda acceder a él cuando sea necesario, utilizando su propia llave.
Por ejemplo, si queremos almacenar información sobre un usuario en un objeto de sesión debe escribir algo como
StoreInfoInSession vacío ()
{
String = TextBox1.Text strInputUtente;
Session ["strInputUtente"] = strInputUtente;
}
y una solicitud posterior, si queremos recuperar este valor se debe escribir
GetInfoFromSession vacío ()
{
StrInputUtente String = Session ["strInputUtente"];
TextBox1.Text = strInputUtente;
}
La gestión de estado de sesión en ASP.NET resulta muy útil, sobre todo porque esta tecnología en este tipo de objetos pueden ser colocados en diferentes lugares: en el proceso actual, se separó en un servidor, una base de datos de SQL Server.
Para entender mejor cómo la sesión fue un ejemplo donde vemos que va a crear un sitio web con una página que almacena un valor en el marco del estado de sesión. Esto deja en claro la diferencia entre el estado de una página en la solicitud y la información asociada a una sesión que, como se ha mencionado, persisten incluso después de la solicitud.
Creamos una nueva aplicación web y la web Default.aspx formulario de inserción de un cuadro de texto para introducir el valor que se almacena en estado de sesión. También vamos a añadir dos botones, uno para almacenar datos y para mostrar un estado de

También insertar cuadro de texto junto a una etiqueta para mostrar los datos a que llame más tarde. Insertar una variable de tipo cadena en nuestra página y en el Page_Load establecer el valor de esta cadena en nuestro cuadro de texto
cadena sessionString;
protected void Page_Load (object sender, EventArgs e)
{
this.Label1.Text = this.sessionString;
}
Haga doble clic en el botón de tiendas generan el evento Click correspondiente e inserte dentro del código que recupera la cadena contenida en el cuadro de texto y lo almacena en sessionString variable, ajuste de la etiqueta con el mismo texto
MemorizzaBtn_Click protected void (object sender, EventArgs e)
{
this.sessionString = this.TextBox1.Text;
this.Label1.Text = this.sessionString;
}
Partimos de la aplicación y escribir algo en el cuadro de texto y haga clic en Guardar.
Deberíamos ver algo como

Si hacemos clic en el botón Ver la etiqueta tiene un valor de cadena vacía como la variable se crea una instancia sessionString de nuevo (porque la página se vuelve a crear). Esto se debe a lo establecido en el Page_Load de la propiedad Text de la etiqueta se establece en el valor de la sessinString variable. Como ya hemos mencionado varias veces, de hecho, las páginas son de muy corta vida de objetos, la duración de una solicitud y luego se destruyen todos los datos en ellos. Así que si el objetivo es almacenar algunos datos que va más allá de la duración de una página tan pronto como el enfoque no es bueno.
El uso de estado de sesión es la manera de resolver este problema. Para explicar mejor el concepto que agregar una segunda etiqueta de nuestro formulario web y configurarlo como que ya esté presente

Esta segunda etiqueta va a ser útil para mostrar los datos obtenidos a través del objeto de la sesión. MemorizzaBtn_Click modificar el evento para que el texto tomado de la caja de texto también se almacena en la sesión
MemorizzaBtn_Click protected void (object sender, EventArgs e)
{
/ / Almacenar el valor de la variable local
this.sessionString = this.TextBox1.Text;
/ / Almacenar el valor en la sesión
this.Session ["sessionString"] = this.TextBox1.Text;
/ / Muestra el valor de la variable
this.Label1.Text = this.sessionString;
/ / Muestra el valor de la sesión
this.Label2.Text = (cadena) this.Session ["sessionString"];
}
También modificar el evento Page_Load para que el conjunto de la segunda cadena de la etiqueta recuperado de la sesión
protected void Page_Load (object sender, EventArgs e)
{
this.Label1.Text = this.sessionString;
this.Label2.Text = (cadena) this.Session ["sessionString"];
}
Empezamos ahora la aplicación y escribir algo nuevo en el cuadro de texto y haciendo clic en el botón Guardar. Deberíamos ver algo como

Si ahora hace clic en Mostrar verá que el primer parámetro se establece en una cadena vacía, mientras que el segundo se mantenga el valor

Mientras que el valor de la variable local se pierde, porque la página se vuelve a crear, el valor almacenado en el objeto Session persiste y puede ser consultado.
Con respecto a la configuración de diferentes parámetros para la gestión de la sesión que le invitamos a consultar la documentación oficial de Microsoft.
| |
ASP (Advanced)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 39 €. |
| |
ASP.NET (Curso)
Ciclo completo para la creación de aplicaciones Web y un 15% de descuento hasta el 14/09/2011. |
| |
SQL y bases de datos (Curso)
Crear y gestionar bases de datos relacionales. A partir de 39 €. |