aulambra.com - Tecnologias de Internet
 
 

Lista de Correo

Para suscribirte a la lista de correo dejanos tu e-mail y preferencias en tecnologías.

Seguir >>

Valid HTML 4.01!
Valid CSS!

Web 2.0

Guardar... Compartir...
EMAIL: PASSWORD:
Darme de alta como usuario | Se me ha olvidado la contraseña

volverserverpages/asp/asp/Objeto Application

Objeto Application

Si el objeto Session nos permite mantener información a lo largo de la vida de la sesión del usuario, es decir, desde que empieza a ver su primera página, hasta que abandona el sitio. El objeto Application permite mantener información desde que se arranca la aplicación web en el servidor, hasta que paren el servidor.

Esto, lógicamente, da mucha potencia a la hora de guardar información. Pero también hay que tener mucho cuidado, ya que toda esa información ocupará espacio en memoria. A si que es extremadamente recomendable guardar lo mínimo e imprescindible.Un ejemplo de uso es el de los usuarios que hay conectados en un instante de tiempo.

Para guardar información de una variable en el objeto Application lo haremos de la siguiente manera:

Application("nombreVariable") = "valor"

Y para obtener el valor de la variable, de esta otra:

variable = Application("nombreVariable")

Además del manejo básico de variables, el objeto Application nos permite otra serie de acciones. Todo ello lo recoge en métodos y colecciones.

Colecciones

.Contents

Mediante esta colección podemos acceder a todo el contenido que hay en el objeto Application. Es la forma extendida del acceso que hemos visto previamente.

Para utilizar esta colección tenemos dos formas. O bien mediante el nombre de la variable o bien mediante un identificador. Así podríamos tener:

Application.Contents("nombreVariable")
Application.Contents(id)

Suele combinarse el uso de esta colección dentro de un bucle for..each.

Esta colección tiene la propiedad .Count, la cual nos dirá cuantos elementos existen instanciados en el objeto Application. Un ejemplo de uso sería el siguiente:

<%

   Application("nombre")="Víctor Cuervo"
   Application("web")="aulambra.com"

   for each x in Application.Contents
     Response.Write(x & "=" & Application.Contents(x) +"<br/>")
   next
   
%> 

.StaticObjects

Contiene información de todos los objetos <object> que se han instanciado y almacenado en el objeto Application. Para ello, el objeto object tiene que tener la propiedad runat con el valor "server".

Métodos

.Contents.Remove

Este método permite eliminar una variable que haya sido instanciada en el objeto Application. Para ello necesitamos saber el nombre de dicha variable.

Application.Contents.Remove("nombreVariable")

.Contents.RemoveAll()

Si queremos hacer un borrado más "agresivo". Vamos, que si queremos eliminar todas las variables que han sido instanciadas en el objeto Application, simplemente tendremos que invocar el método .Contents.RemoveAll()

Application.Contents.RemoveAll()

Bloqueo de variables

Una de las grandes diferencias que existen entre el objeto Session y el objeto Application es el número de usuarios que concurrentemente pueden acceder a modificar o consultar los valores de una determinada variable.

En el caso del objeto Session solo será el usuario de la sesión el que pueda acceder a las variables. Sin embargo, en el caso del objeto Application, son todos los usuarios que estén conectados en ese momento a la web los que puedan modificar la variable.

Esta situación provocará los típicos problemas de concurrencia. Los cuales no vamos a pasar a detallar aquí. Pero que básicamente se podrían resumir en que cuando un usuario quiere acceder a modificar una variable del objeto Application deberá de asegurarse que es el único que accede a ella.

Si bien, en el caso de ASP, el bloqueo será general de todas las variables que haya en el objeto Application. Para su manejo tenemos los métodos Lock y UnLock.

.Lock

Permite bloquear el objeto Application. Se usa de la siguiente manera:

Application.Lock

.UnLock

Desbloquea el acceso al objeto Application. Se utiliza de la siguiente manera:

Application.UnLock

Ejemplo de bloqueo

Un ejemplo del uso del bloqueo sería el de incrementar el número de visitas de un usuario. El código sería algo parecido a este:

<%

   Application.Lock
   Application("visitas")=Application("visitas")+1
   Application.Unlock

%>

La página ha sido visitada <%=Application("visitas")%> veces. 

 

arriba


"Muchas veces me moria pensando que no iba verte.
Pero moria la muerte cada vez que te veia". E.Galeano.


© Copyright 2001-2006. Víctor Cuervo
aulambra.com | Linea de Codigo