12.170 cursos gratis
8.780.592 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Web forms. Programación

Autor: Hassan Chair
Curso:
9/10 (1 opiniýn) |86 alumnos|Fecha publicaciýn: 13/09/2011
Envýa un mensaje al autor

Capýtulo 9:

 Archivo. Aplicación

2.4. Variables de Aplicación
Las variables de sesión nos permiten mantener información accesible a todas las páginas aspx que un determinado cliente utiliza durante una sesión.

Lado que cada sesión tiene su propio juego de variables, no es posible utilizar el objeto Session para compartir información entre los distintos clientes de la aplicación. Para ello, ASP.NET proporciona las variables de aplicación.

El objeto Application y las variables de aplicación
El objeto Application de ASP es un objeto compartido por todos los usuarios de la aplicación, es decir, todas las peticiones que esta recibe comparten la misma instancia Application.

A través de este objeto se puede acceder a las variables de aplicación, mediante las cuales se puede compartir información entre todos los usuarios que tengan una sesión activa en la aplicación.

Al igual que Session, el objeto Application proporciona un indizador para acceder a la colección de variables de aplicación:

this.Application["nombre _variable "]

Las variables de aplicación pueden contener cualquier objeto de C#, almacenándose como tipo object.

Dado que este objeto es compartido por todos los usuarios de la aplicación, deberíamos disponer de un mecanismo que evitara posibles conflictos cuando dos usuarios intentan acceder al objeto al mismo tiempo.

Dicho mecanismo consiste simplemente en invocar al método Lock() del objeto Application. La llamada a este método por parte de un usuario hace que se bloquee el acceso a Application para otros usuarios, quedando estos a la espera hasta que se produzca la liberación del objeto, acción que se realiza a través del método UnLock().

Así pues, para realizar una operación de escritura en una aplicación debería bloquearse el acceso al objeto Application antes operación:

int c = 10;

Application.Lock();

Application[“Contador”] = c+ 2;

Application.UnLock();

Eventos de Aplicación

Llegados a este punto, antes de estudiar la última de las técnicas para el mantenimiento del estado en una aplicación Web, puede resultar interesante presentar unos tipos de eventos cuya captura es bastante útil en algunos tipos de aplicaciones.

Se trata de los eventos de aplicación, llamados así porque se producen en el ámbito de aplicación durante el ciclo de vida de esta, en vez de a nivel de página como sucede con los eventos que hemos estudiado hasta el momento.

Los métodos de respuesta a este tipo de eventos se codifican en un archivo especial de aplicación llamado Global.asax.

El archivo Global.asax y los eventos de aplicación
De forma predeterminada, las aplicaciones ASP.NET creadas con Visual Studio 2008 no incorporan el archivo Global.asax. Para añadirlo, nos situaremos con el ratón en el explorador de soluciones y sobre el nombre del proyecto pulsaremos el botón derecho, eligiendo la opción “Agregar Nuevo Elemento” del menú contextual. Al hacer esto aparecerá el cuadro de diálogo, donde seleccionaremos la plantilla Global Application Class.

Como podemos comprobar, el nombre predeterminado que aparece en el cuadro de diálogo al elegir esta plantilla es Global.asax. Después de pulsar el botón “Agregar”, veremos en el explorador de soluciones como el archivo se ha añadido al proyecto.

Al abrir el archivo Global.asax veremos un script de servidor en el que están incluidos los métodos de respuesta a los distintos eventos de aplicación. En tiempo de ejecución, este archivo es transformado en una subclase de HttpApplication que es compilada dentro de la dll de la aplicación.

Entre los eventos de aplicación más importantes están:

* Application_Start. Se produce cuando tiene lugar la primera solicitud de cualquiera de las páginas de la aplicación, momento en el que comienza su ciclo de vida. El método de respuesta a este evento suele utilizarse para realizar tareas tales como la inicialización de variables de aplicación o la carga inicial de datos.

* Session_Start. Se produce cada vez que un usuario comienza una nueva sesión en la aplicación, empleándose este evento para inicializar variables de sesión.

* Session_End. Se produce cuando se da por finalizada una sesión de usuario, por lo que se suele utilizar para realizar tareas de limpieza y liberación de recursos.

* Application_End. Este evento tiene lugar cuando la aplicación va a ser descargada de memoria. No es posible predecir el momento exacto en que Application_End será disparado, pero sucederá a partir del momento en que todas las sesiones hayan finalizado. Como Session_End, Application-End suele emplearse para realizar tareas de limpieza.

Ejemplo: Uso Mensajeria

Capýtulo siguiente - Cookies. Seguridad

Nuestras novedades en tu e-mail

Escribe tu e-mail:



MailxMail tratarý tus datos para realizar acciones promocionales (výa email y/o telýfono).
En la polýtica de privacidad conocerýs tu derechos y gestionarýs la baja.

Cursos similares a Web forms. Programación



  • Výdeo
  • Alumnos
  • Valoraciýn
  • Cursos
1. Programación en C++
C++ es un potente lenguaje de programación que apareció en 1980, continuando con... [04/06/04]
69.596  
2. C# Curso de Programación
Curso Básico de programación en C#, este curso básico abarcará desde las bases del... [14/07/05]
15.672  
3. Programación estructurada
Este curso les ayudará a tener conceptos básicos de la programación. Estos... [25/04/07]
3.025  

ýQuý es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail