Foros del Web » Programando para Internet » ASP Clásico »

Global ASA

Estas en el tema de Global ASA en el foro de ASP Clásico en Foros del Web. Hola: Resulta que tengo un sitio en el que coloque un contado de usuarios lo que hago con el global.asa. En mi maquina funciona perfectamente ...
  #1 (permalink)  
Antiguo 26/11/2003, 09:59
Avatar de martinArgentino  
Fecha de Ingreso: diciembre-2002
Mensajes: 157
Antigüedad: 22 años, 4 meses
Puntos: 1
Global ASA

Hola:
Resulta que tengo un sitio en el que coloque un contado de usuarios lo que hago con el global.asa. En mi maquina funciona perfectamente pero en el Servidor no me aparee el valor de la variable, como si ella no existiera.
Le mandé un meil al administrador del server informandolo de esto y el respondió del siguiente modo

" Estimado Martín, en principio le comento que la tecnología usada en los servidores es ASP, por lo tanto cualquier uso avanzada del sitio debe ser compatible con la misma. Sin embargo, le pido por favor verifique cualquier configuración adicional a realizar en el servidor para el correcto funcionamiento de su sitio, me la informe para realizar los cambios necesarios. "

La verdad es que yo no hice ninguna configuración adicional, solo agregué el global.asa, en el directorio del sitio.

Si alguien me puede dart una mano en esto se lo agradecería]

Saludos a todos
Martín
__________________
Martin
  #2 (permalink)  
Antiguo 26/11/2003, 11:03
ACHAVARRIA
Invitado
 
Mensajes: n/a
Puntos:
¿Qué es el archivo GLOBAL.ASA?

En el archivo Global.asa se puede especificar diferentes eventos y sesiones que se utilizarán en las páginas ASP que componen un sitio.

La utilización del global.asa es opcional, se utiliza cuando es necesario realizar una tarea cuando comienza la sesión de un usuario. Cabe aclarar que este archivo debe ser ubicado en la raíz del sitio, de caso contrario no funcionará. Uno de los usos más comunes es contar la cantidad de usuarios activos en un sitio.

Eventos en Global.asa
Dentro del archivo, podemos llamar a los objetos de aplicaciones o sesiones cuando estos comienzan (OnStart) o cuando finalizan (OnEnd). Los códigos que se utilizan son:

Aplication_OnStart: Este evento ocurre cuando el primer usuario llama a la primera página de una aplicación ASP. Y también, luego de que el servidor web es reiniciado o que el archivo global.asa haya sido editado. Una vez culminado este evento, se procede a ejecutar el Session_OnStart.

Session_OnStart: Este evento ocurre cuando un nuevo usuario llama a la primera aplicación ASP. Y se mantiene hasta que la sesión expire.

Session_OnEnd: Este evento ocurre luego de que un usuario finaliza la sesión. Una sesión finaliza cuando el servidor no recibe peticiones de usuario por un tiempo determinado (el tiempo default es de 20 minutos).

Aplication_OnEnd: Este evento ocurre cuando el último usuario finaliza la sesión. Normalmente, este evento se ejecuta cuando se para el servidor web.

Modelo del archivo Global.asa
El global.asa se compone de la siguiente manera:

<script language="vbscript" runat="server">
sub Application_OnStart
...script en vbscript
end sub
sub Application_OnEnd
...script en vbscript
end sub
sub Session_OnStart
...script en vbscript
end sub
sub Session_OnEnd
...script en vbscript
end sub
</script>


Explicación:

<script language="vbscript" runat="server">
...
</script>

Aquí podemos observar que se declara un script en lenguaje vbscript (visual basic script) y se especifica que los scripts serán ejecutados en el server. Notaran que en este archivo no se utilizan los tags de comienzo y fin (<% y %>), sino que se utiliza la etiqueta <script>.

Ejemplo: contando visitantes activos

global.asa: utilizamos este código dentro del archivo. Pueden ver que tarea realiza el código: cuando la aplicación de inicia el contador de usuarios se pone en 0, luego cuando se inicia una sesión (Session_OnStart) suma 1, y así con cada sesión de usuario que se cree. Luego cuando una sesión expira (Session_OnEnd) se restará 1.
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart
application("vactivos")=0
application("fecha")=date()
End Sub

Sub Application_OnEnd
End Sub

Sub Session_OnStart
application.lock
application("vactivos")=application("vactivos")+1
application.unlock
End Sub

Sub Session_OnEnd
application.lock
application("vactivos")=application("vactivos")-1
application.unlock
End Sub

</SCRIPT>


--------------------------------------------------------------------------------

pagina.asp: aquí pondremos un código que muestra la cantidad de usuarios activos en el sitio, el cual saca la información de acuerdo al global.asa.

<html>
<head>
</head>
<body>
Hay <%=application("vactivos")%> usuarios activos
</body>
</html>


Existen muchísimos otros usos que se le puede dar al archivo global.asa: abrir conexiones a bases de datos, hacer algún tipo de detección y redireccionar a otra página, entre muchos otros.
  #3 (permalink)  
Antiguo 26/11/2003, 11:32
ACHAVARRIA
Invitado
 
Mensajes: n/a
Puntos:
Si necesitas ayuda con un contador de visitas para llevar un control de los visitantes activos en un sitio es necesario que el servidor tenga soporte del globlal.asa.

Lo que se hace en él, es crear un variable del objeto application. Esta variable será inicializada con cero dentro del global.asa cuando sea iniciada la aplicación (onstart) y se irá incrementando cada vez que un nuevo visitante inicie una sesión, se captura con el evento session_onstart.
Cuando un visitante abandona el sitio es necesario restar en uno la cantidad de sesiones, eso se realiza gracias al evento session_onend.

global.asa
Este archivo contendrá la siguiente información y se ubicará en el directorio raíz del sitio.

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
application("vactivos")=0
application("fecha")=date()
End Sub
Sub Application_OnEnd
End Sub
Sub Session_OnStart
application.lock
application("vactivos")=application("vactivos")+1
application.unlock
End Sub
Sub Session_OnEnd
application.lock
application("vactivos")=application("vactivos")-1
application.unlock
End Sub
</SCRIPT>

Y luego para mostrar esta cantidad de usuarios activos en alguna parte de nuestro pagina.asp se debe incluir el siguiente código:

<%=application("vactivos")%>

Para que quede mejor se puede "mezclar" (como habitualmente se hace con cualquier código ASP) con Html:

<p><font face=verdana size=1>Hay <%=application("vactivos")%> usuarios activos.</font></p>
  #4 (permalink)  
Antiguo 26/11/2003, 15:41
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 23 años, 5 meses
Puntos: 1
que otra cosa se puede hacer además de contar los usuarios?
solo he visto porahi como contarlos y nada mas.

muy bueno!!
__________________
On error no hago nada porque deje de fumar...
  #5 (permalink)  
Antiguo 26/11/2003, 15:49
Avatar de martinArgentino  
Fecha de Ingreso: diciembre-2002
Mensajes: 157
Antigüedad: 22 años, 4 meses
Puntos: 1
Se para que sieve el global asa.
Lo que me interesa saber es si necesito alguna configuración adicional o ahi que tocar algo para que funcione en el IIS, o si es posible anular su funcionamiento.
Pues el administrador del server en donde tengo mi sitio parce desconocer esto.
Yo trabajo con el PWS y en mi maquina funciona de maravilla sin ninguna configuración adicional.
__________________
Martin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:36.