|
Le fichier global.asa
Le fichier global.asa peut s'avérer d'une grande utilité. Ce fichier, et le code qu'il contient est théoriquement lu à 4
reprises. Nous disons théoriquement, parce que dans la pratique, trois fois seulement.
- Lors du démarrage du serveur => Application_OnStart
- Lors de la connexion d'un nouvel utilisateur => Session_OnStart
- Lors de la fin de session du connecté => Session_OnEnd
et, mais c'est très théorique,
- Lors de l'arrêt du serveur Application_OnEnd
Comment utiliser ces évènements ?
Immaginons que vous souhaitiez initialiser une connexion à une base de données. Si les paramètres de la connexion
doivent rester confidentiels, vous initierez la chaîne de connexion à cet endroit.
SUB
Application_OnStart Application("datas_ConnectionString")="DSN=MaConnexion;DATABASE=MaDB;UID=MonLogin;PWD
= MonPsw;" end sub
Nb : La ligne définissant la variable doit tenir sur une seule ligne sans retour chariot.
De la sorte, quelle que soit l'endroit du site, ou la page d'appel, vous pourrez initier
votre connexion à la base de données en faisant référence à la variable
Application("datas_ConnectionString")
De la même manière, puisque l'évènement Application_OnStart
est déclenché au démarrage du serveur, vous pouvez vous en
servir pour connaître, l'heure du démarage, ou comptabiliser les
personnes qui vous ont rendue visite.
Exemple :
SUB
Application_OnStart
Application("NbCnx")=0 end
sub
Puis, pour que notre
compteur s'incrémente à chaque nouvelle connexion, nous
ajoutons une méthode Session_OnStart comme ci-dessous
:
SUB
Session_OnStart
Application("NbCnx")=Application("NbCnx")+1 end
sub
Cependant, l'objet Application est unique
et partagé par toutes les sessions. nous devons donc nous
assurer qu'aucune autre session ne viendra manipuler Application("NbCnx") pendant que nous la
mettons à jour. L'écriture correcte est donc :
SUB
Session_OnStart
Application.lock
Application("NbCnx")=Application("NbCnx")+1
Application.Unlock end
sub
Pour afficher le nombre de connectés depuis
le démarrage du serveur, il ne reste plus qu'à inclure le code
suivant dans une page de votre site
<%
Response.Write("Nombre de connexions : "
&Application("NbCnx")) %>
Pourquoi utiliser une
variable Application et non une variable Session ? Par ce que dans ce cas
précis, la variable devant être partagée par toutes les
sessions, nous devons impérativement utiliser une variable
accessible à toute les sessions, c.a.d, une variable Application.
|