|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASP - Le fichier global.asaIntroduction au fichier global.asaAfin de permettre de configurer une application (un site web) avec des paramètres par défaut sans devoir modifier la configuration du serveur, le modèle ASP propose l'utilisation d'un fichier de configuration, nommé global.asa, qui, placé à la racine du site web, permet à son concepteur d'exécuter des instructions, d'initialiser des variables, avant ou après l'exécution d'un script.
Le format du fichier global.asaLe fichier global.asa est constitué de plusieurs sections optionnelles de 3 types. Les 3 types de sections sont les suivants :
Il est possible d'ajouter des commentaires dans le fichier global.asa en utilisant les balises de commentaire HTML : <!-- Ceci est un commentaire HTML pouvant être inséré dans le fichier global.asa -->
La section <script>La section <script> permet de définir des événements liés aux objets Application et Session grâce à deux gestionnaires d'événements permettant de gérer deux états : le démarrage (OnStart) et l'expiration (OnEnd). La section script permet ainsi de gérer quatre événements :
La section <Script> se construit de la manière suivante : <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub Application_OnStart 'Code à placer éventuellement à cet emplacement End Sub Sub Application_OnEnd 'Code à placer éventuellement à cet emplacement End Sub Sub Session_OnStart 'Code à placer éventuellement à cet emplacement End Sub Sub Session_OnEnd 'Code à placer éventuellement à cet emplacement End Sub </SCRIPT> Voici un exemple d'utilisation du fichier global.asa servant à afficher sur le site le nombre de connectés simultanés. Sera considéré comme connecté tout utilisateur ayant fait une requête dans les 15 minutes précédentes. <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub Application_OnStart 'Initialisation du nombre de connectés Application("nb_connectes") = 0 End Sub Sub Application_OnEnd 'Code à placer éventuellement à cet emplacement End Sub Sub Session_OnStart Session("debut") = now() Application.Lock Application("nb_connectes") = Application("nb_connectes") + 1 Application.UnLock End Sub Sub Session_OnEnd 'Code à placer éventuellement à cet emplacement Application.Lock Application("nb_connectes") = Application("nb_connectes") - 1 Application.UnLock End Sub </SCRIPT> Pour afficher le résultat dans la page ASP, il suffira d'inclure la ligne suivante : <% Response.Write(Application("nb_connectes")) %> La section <object>La section Object du fichier global.asa a pour but de permettre de déclarer des objets pouvant ainsi être mis à disposition de tous les visiteurs (en lui donnant comme portée l'objet Application) ou bien de chaque visiteur séparément (en lui donnant comme portée l'objet Session).
Voici la structure d'une section Object : <Object RunAt="Server" Scope="Session|Application" Id="Identifiant" {ProgId="ProgId"|ClassId="ClassId"}> </Object> L'attribut RunAt doit obligatoirement être égal à Server. L'attribut Scope définit la portée de l'objet. Si la portée est Application, l'objet ainsi défini sera partagé par tous les utilisateurs de l'application, par contre s'il s'agit de Session, chaque utilisateur bénificiera d'une instance particulière. Enfin l'attribut Id définit un identifiant permettant de faire appel à l'objet au sein des scripts, ProgId et ClassId permettent de faire appel à des identifiants respectivement de classe et de classe COM d'objets existants. Suivant que l'on fait référence à un objet COM ou non on utilisera l'un ou l'autre de ces attributs.
Voici un exemple comprenant deux déclarations d'objets : <Object RunAt="Server" Scope="Application" Id="Application_id" ClassId="Clsid:5DC843A2F1-3FC3-5DE4-432B-5A5C5A9F89ED"> </Object> <Object RunAt="Server" Scope="Session" Id="Connection_id" ProgId="ADODB.Connection"> </Object> Plus d'informationDiscussions pertinentes trouvées dans le forum
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||