Le Global.asa


Le fichier Global.asa est un fichier facultatif dans lequel vous pouvez spécifier des scripts d'événements et déclarer des objets ayant une étendue Session ou Application. Il ne s'agit pas d'un fichier de contenu visible pour les utilisateurs, mais d'un fichier qui stocke des informations sur les événements et les objets globalement utilisés par l'application. Ce fichier doit être nommé Global.asa et être stocké dans le répertoire racine de l'application. Une application ne peut avoir qu'un seul fichier Global.asa.


Le global est composé essentiellement de trois grand groupe :

  • Les "object"
  • Les événements "application"
  • Les événements "Session"

Nous allons découvrir ensemble comment se compose le fichier global.asa

  1. Les Objects :

<OBJECT RUNAT=Server SCOPE=Scope ID=Identifier {PROGID="progID"|CLASSID="ClassID"}>

...

</OBJECT>

Paramètres

Scope
Indique l'étendue de l'objet. Dans le fichier Global.asa, Scope a soit la valeur Session, soit la valeur Application.
Identifier
Indique un nom pour cette instance de l'objet.
ProgID
Identificateur associé à un identificateur de classe. ProgID ou ClassID doit être spécifié dans la balise <OBJECT>. Le format de ProgID est [Vendor.]Component[.Version].
ClassID
Indique un identificateur unique pour un objet de classe COM. ProgID ou ClassID doit être spécifié dans la balise <OBJECT>.
  1. Événements Application

Une application démarre dès qu'un utilisateur ouvre l'une des pages Web de l'application et se termine lorsque le serveur est arrêté. Le grand intérêt de l'événement application est que les variables ou codes qui sont implémentés dedans sont disponibles par tout les utilisateurs en même temps.

Voici un exemple de global.asa ne traitant qu'avec l'événement application.

<SCRIPT LANGUAGE="VBSCRIPT" RUNAT="Server">
Sub Application_OnStart
Votre code se place ici
End Sub
Sub Application_OnEnd

Votre code se place ici
End Sub
</SCRIPT>

  1. Événements Session

Le serveur Web crée automatiquement une session lorsqu'un utilisateur, qui n'avait pas précédemment ouvert une session, ouvre une page Web dans une application.

Voici un exemple de global.asa ne traitant qu'avec l'événement Session.

<SCRIPT LANGUAGE="VBSCRIPT" RUNAT="Server">
Sub Session_OnStart
Votre code se place ici
End Sub
Sub Session_OnEnd

Votre code se place ici
End Sub
</SCRIPT>

Et voici un dernier exemple contenant tous les groupes dans le même fichier :

<OBJECT RUNAT=Server SCOPE=Session ID=MyAd PROGID="MSWC.AdRotator"></OBJECT
'Je déclare dans Object le composant AdRotator

<SCRIPT LANGUAGE="VBSCRIPT" RUNAT="Server">
Sub Application_OnStart
Application("Appli")="Salutations"
'La varaible contenu dans Application("Appli") est disponible pour tous les visiteurs
End Sub

Sub Application_OnEnd
'Ici, vous pouvez par exemple programmer une sauvegarde, copier des fichiers à un endroits etc ....
End Sub

Sub Session_OnStart
Session("cookies")=Request.Cookies("Nom")
'En reprenant dans une page ASP la session ("cookies"), vous aurez le contenu du cookies "nom"
End Sub

Sub Session_OnEnd
Server.CreateObject("ADODB.Connection").close
'Vous fermez la base de données
End Sub

</SCRIPT>

[Précédent] [Retour] [Suite]