ASP Global.asa
Fichier Global.asa
Le fichier Global.asa est un fichier facultatif qui contient des déclarations d'objets, de variables et de méthodes accessibles par chaque page de l'application ASP.
Tous les scripts de navigateur légaux (JavaScript, VBScript, JScript, PerlScript, etc.) peuvent être utilisés dans Global.asa.
Le fichier Global.asa ne peut contenir que le contenu suivant :
Événement d'application
Événement de session
Déclaration<object>
Déclaration TypeLibrary
#include directive
Remarque : Le fichier Global.asa doit être stocké dans le répertoire racine de l'application ASP, et chaque application ne peut avoir qu'un seul fichier Global.asa.
Événements dans Global.asa
Dans Global.asa, vous pouvez indiquer aux objets d'application et de session quoi faire lorsque l'application/session démarre et quoi faire lorsque l'application/session se termine Quoi. Le code permettant d'accomplir cette tâche est placé dans le gestionnaire d'événements. Le fichier Global.asa peut contenir quatre types d'événements :
Application_OnStart - Cet événement se produit lorsque le premier utilisateur appelle la première page de l'application ASP. Cet événement se produit après le redémarrage du serveur Web ou la modification du fichier Global.asa. L'événement "Session_OnStart" se produit immédiatement après cet événement.Session_OnStart - Cet événement se produit chaque fois qu'un nouvel utilisateur demande sa première page dans une application ASP.
Session_OnEnd - Cet événement se produit chaque fois que l'utilisateur termine la session. Si l'utilisateur ne demande aucune page dans le délai spécifié (le délai par défaut est de 20 minutes), la session utilisateur prendra fin.
Application_OnEnd - Cet événement se produit après que le dernier utilisateur ait terminé sa session. Généralement, cet événement se produit lorsque le serveur Web est arrêté. Ce sous-programme est utilisé pour effacer les paramètres après l'arrêt de l'application, tels que la suppression d'enregistrements ou l'écriture d'informations dans un fichier texte.
Un fichier Global.asa pourrait ressembler à ceci :
sub Application_OnStart
'du code
end sub
sub Application_OnEnd
'du code
fin du sous
sous Session_OnStart
'du code
end sub
sub Session_OnEnd
'du code
fin du sous
</script>
Remarque : Comme nous ne pouvons pas insérer de scripts en utilisant les délimiteurs de script ASP (<% et %>) dans le fichier Global.asa, nous devons placer le sous-programme dans le fichier HTML < Inside the script> ; élément.
<object> La déclaration
peut créer un objet avec une portée de session ou d'application dans le fichier Global.asa en utilisant la balise <object>
Remarque : La balise <object> doit être en dehors de la balise <script>
Syntaxe
....
</object>
Paramètres | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
portée | Définir l'objet (Session ou Application). | ||||||||||
id | Spécifiez un identifiant unique pour l'objet. | ||||||||||
ProgID | L'identifiant associé à ClassID. Le format de ProgID est : [Vendor.]Component[.Version].
| ||||||||||
ClassID | Spécifiez un identifiant unique pour l'objet de classe COM. <🎜>ProgID ou ClassID doit être spécifié. <🎜> |
Instances
La première instance crée un objet de portée de session nommé "MyAd" en utilisant le paramètre ProgID :
</object>
La deuxième instance crée un objet de portée d'application nommé "MyConnection" à l'aide du paramètre ClassID :
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
< 🎜>
<object runat= "serveur" scope="session" id="Monannonce" progid="MSWC.AdRotator">
</object>
Vous pouvez référencer l'objet "MyAd" depuis n'importe quelle page de votre application ASP :
Un fichier .ASP :
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
Déclaration TypeLibrary TypeLibrary (bibliothèque de types) est un conteneur qui contient des fichiers DLL correspondant aux objets COM. En incluant un appel à TypeLibrary dans le fichier Global.asa, vous pouvez accéder aux constantes de l'objet COM et votre code ASP peut mieux signaler les erreurs. Si votre application Web repose sur des objets COM de types de données déclarés dans une bibliothèque de types, vous pouvez déclarer la bibliothèque de types dans Global.asa. Syntaxe
filename" uuid="id" version="numéro" lcid="localeid"-->
Paramètre | Description | file | Spécifie le chemin absolu vers la bibliothèque de types. paramètre file ou paramètre uuid, les deux sont indispensables.
|
---|---|
uuid | spécifie l'identifiant unique de la bibliothèque de types. <🎜>paramètre file ou paramètre uuid, les deux sont indispensables. <🎜> |
version | Facultatif. Utilisé pour sélectionner la version. Si la version requise n'est pas trouvée, la version la plus proche sera utilisée. |
lcid | Facultatif. L'identifiant de paramètres régionaux utilisé pour la bibliothèque de types. |
Valeur d'erreur
Le serveur renverra l'un des messages d'erreur suivants :
错误代码 | 描述 |
---|---|
ASP 0222 | 无效的类型库规范 |
ASP 0223 | 没有找到类型库 |
ASP 0224 | 无法加载类型库 |
ASP 0225 | 无法包装类型库 |
Remarque : La balise METADATA peut apparaître n'importe où dans le fichier Global.asa (soit à l'intérieur, soit à l'extérieur de la balise <script>). Cependant, nous recommandons toujours de placer la balise METADATA en haut du fichier Global.asa.
Limitations
Limitations sur ce qui peut être référencé dans le fichier Global.asa :
Vous ne pouvez pas afficher le contenu dans le fichier Global.asa texte du fichier. Aucune information ne peut être affichée sur ce fichier.
Vous ne pouvez utiliser que les objets Serveur et Application dans les sous-programmes Application_OnStart et Application_OnEnd. Dans le sous-programme Session_OnEnd, vous pouvez utiliser les objets Serveur, Application et Session. Dans le sous-programme Session_OnStart, vous pouvez utiliser n'importe quel objet intégré.
Comment utiliser les sous-programmes
Global.asa est souvent utilisé pour initialiser des variables.
L'exemple suivant montre comment détecter l'heure exacte à laquelle un visiteur arrive pour la première fois sur un site Web. L'heure est stockée dans un objet Session nommé "started", et la valeur de la variable "started" est accessible par n'importe quelle page ASP de l'application :
sub Session_OnStart
Session("started")=now()
end sub
</script>
Global.asa est également disponible Pour contrôler l’accès aux pages.
L'exemple suivant montre comment rediriger chaque nouveau visiteur vers une autre page, en l'occurrence une page nommée "newpage.asp" :
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script>
Vous pouvez inclure des fonctions dans le fichier Global.asa.
Dans l'exemple suivant, lorsque le serveur Web démarre, le sous-programme Application_OnStart démarre également. Le sous-programme Application_OnStart appelle ensuite un autre sous-programme nommé « getcustomers ». Le sous-programme « getcustomers » ouvre une base de données et récupère un jeu d'enregistrements de la table « clients ». Cet ensemble d'enregistrements est affecté à un tableau, et n'importe quelle page ASP peut accéder à ce tableau sans interroger la base de données :
sub Application_OnStart
getcustomers
end sub
sub getcustomers
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft. Jet.OLEDB .4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs=conn.execute("sélectionner le nom des clients")
Application("clients")=rs .GetRows
rs.Close
conn.Close
end sub
</script>
Exemple Global.asa
Dans cet exemple, nous allons créer un fichier Global.asa qui calcule le nombre actuel de visiteurs.
Lorsque le serveur démarre, Application_OnStart définit la valeur de la variable d'application "visiteurs" à 0.
Chaque fois qu'un nouveau visiteur arrive, le sous-programme Session_OnStart ajoutera 1 à la variable "visiteurs".
A chaque fois que le sous-programme Session_OnEnd est déclenché, le sous-programme décrémente la variable "visiteurs" de 1.
Fichier Global.asa :
Sub Application_OnStart
Application("visitors")=0
End Sub
Sub Session_OnStart
Application.Lock
Application("visitors")=Application("visitors")+1
Application.UnLock
End Sub
Sub Session_OnEnd
Application.Lock
Application("visitors")=Application("visitors")-1
Application.UnLock
End Sub
</script>
Dans le fichier ASP, afficher le nombre de visiteurs actuels :
<html>
<head>
</head>
<body>
<p>Il y a <%response.write (Application ("visiteurs"))%> en ligne maintenant !</p>
</body>
</html>