Derniers tutoriels de développement web
 

ASP Le fichier Global.asa


Le fichier Global.asa

Le fichier Global.asa est un fichier facultatif qui peut contenir des déclarations d'objets, des variables et des méthodes accessibles par chaque page dans une application ASP.

Tous les scripts de navigateur valides (JavaScript, VBScript, JScript, PerlScript, etc.) peuvent être utilisés dans Global.asa.

Le fichier Global.asa ne peut contenir que les éléments suivants:

  • Les événements d'application
  • les événements de session
  • <object> déclarations
  • déclarations TypeLibrary
  • la directive #include

Note: 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.


Evénements Global.asa

En Global.asa vous pouvez indiquer à l'application et d'objets de session quoi faire lorsque l'application / session démarre et ce qu'il faut faire lorsque l'application / session se termine. Le code pour cela est placé dans des gestionnaires d'événements. Le fichier Global.asa peut contenir quatre types d'événements:

Application_OnStart - Se produit lorsque l'utilisateur appelle d' abord la première page dans une application ASP. Cet événement se produit après que le serveur Web est redémarré ou après le fichier Global.asa est édité. Le "Session_OnStart" événement se produit immédiatement après cet événement.

Session_OnStart - Cet événement se produit chaque fois qu'un utilisateur demande NOUVEAU sa première page dans l'application ASP.

Session_OnEnd - Cet événement se produit chaque fois qu'un utilisateur met fin à une session. Une fin de session utilisateur après une page n'a pas été demandée par l'utilisateur pendant une durée spécifiée (by default this is 20 minutes) .

Application_OnEnd - Cet événement se produit après que l'utilisateur LAST a mis fin à la session. En règle générale, cet événement se produit lorsqu'un serveur Web arrête. Cette procédure est utilisée pour nettoyer les paramètres après l'arrêt des applications, comme les dossiers de suppression ou écrire des informations dans des fichiers texte.

Un fichier Global.asa pourrait ressembler à ceci:

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

sub Application_OnStart
' Note: Parce que nous ne pouvons pas utiliser les délimiteurs de script ASP (<% and %>) les <script> (<% and %>) pour insérer des scripts dans le fichier Global.asa, nous avons mis l' intérieur d' un sous - routines HTML <script> élément.


<object> Déclarations

Il est possible de créer en utilisant les objets avec session ou champ d'application dans Global.asa <object> balise.

Note: Le <object> balise doit être en dehors du <script> tag!

Syntaxe

<object runat="server" scope=" Paramètre La description scope Définit la portée de l'objet (either Session or Application) id Indique un identifiant unique pour l'objet ProgID Un identifiant associé à un identifiant de classe. Le format de ProgID est [fournisseur.] Composants [.Version]

Soit ProgID ou ClassID doivent être spécifiés.

ClassID Indique un identifiant unique pour un objet de classe COM.

Soit ProgID ou ClassID doivent être spécifiés.

Exemples

Le premier exemple crée un objet de la portée de session nommée "MyAd" en utilisant le paramètre ProgID:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

Le deuxième exemple crée un objet de champ d'application nommée "MyConnection" en utilisant le paramètre ClassID:

<object runat="server" scope="application" id="MyConnection"
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object>

Les objets déclarés dans le fichier Global.asa peut être utilisé par un script dans l'application:

GLOBAL.ASA:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

You could reference the object "MyAd" from any page in the ASP application:

SOME .ASP FILE:

<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>

TypeLibrary Déclarations

Un TypeLibrary est un conteneur pour le contenu d'un fichier DLL correspondant à un objet COM. En incluant un appel à la TypeLibrary dans le fichier Global.asa, les constantes de l'objet COM sont accessibles, et les erreurs peuvent être mieux signalés par le code ASP. Si votre application Web repose sur des objets COM qui ont déclaré les types de données dans les bibliothèques de type, vous pouvez déclarer les bibliothèques de type à Global.asa.

Syntaxe

<!--METADATA TYPE="TypeLib"
file=" Paramètre La description file Indique un chemin absolu à une bibliothèque de type.

Soit le paramètre de fichier ou le paramètre UUID est requis

uuid Indique un identifiant unique pour la bibliothèque de types.

Soit le paramètre de fichier ou le paramètre UUID est requis

version Optionnel. Permet de sélectionner la version. Si la version demandée est introuvable, la version la plus récente est utilisée lcid Optionnel. L'identificateur de paramètres à utiliser pour la bibliothèque de types

Les valeurs d'erreur

Le serveur peut retourner l'un des messages d'erreur suivants:

Code d'erreur La description
ASP 0222 Spécification bibliothèque de type non valide
ASP 0223 bibliothèque Type introuvable
ASP 0224 bibliothèque de type ne peut pas être chargé
ASP 0225 bibliothèque de type ne peut pas être enveloppé

Note: les balises de métadonnée peuvent apparaître n'importe où dans le fichier Global.asa (both inside and outside <script> tags) à l' (both inside and outside <script> tags) à l' (both inside and outside <script> tags) . Cependant, il est recommandé que les balises METADATA apparaissent en haut du fichier Global.asa.


restrictions

Les restrictions sur ce que vous pouvez inclure dans le fichier Global.asa:

  • Vous ne pouvez pas afficher le texte écrit dans le fichier Global.asa. Ce fichier ne peut pas afficher des informations
  • Vous ne pouvez utiliser des objets serveur et application dans le sous-routines Application_OnStart et Application_OnEnd. Dans le sous-programme Session_OnEnd, vous pouvez utiliser le serveur, l'application et des objets de session. Dans le sous-programme Session_OnStart vous pouvez utiliser un objet intégré

Comment utiliser les sous-routines

Global.asa est souvent utilisé pour initialiser les variables.

L'exemple ci-dessous montre comment détecter l'heure exacte visiteur arrive d'abord sur un site Web. Le temps est stocké dans une variable de session nommée "started" , et la valeur de la "started" variable peut être accessible depuis une page ASP dans l'application:

<script language="vbscript" runat="server">
sub Session_OnStart
Session("started")=now()
end sub
</script>

Global.asa peut également être utilisé pour contrôler l'accès aux pages.

L'exemple ci - dessous montre comment rediriger chaque nouveau visiteur vers une autre page, dans ce cas à une page appelée "newpage.asp" :

<script language="vbscript" runat="server">
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script>

Et vous pouvez inclure des fonctions dans le fichier Global.asa.

Dans l'exemple ci-dessous le sous-programme Application_OnStart se produit lorsque le serveur Web démarre. Ensuite , le sous - programme Application_OnStart appelle un autre sous - programme nommé "getcustomers" . Le "getcustomers" sous - programme ouvre une base de données et récupère un record de la "customers" table. Le jeu d'enregistrements est affecté à un tableau, où il est accessible depuis une page ASP sans interrogation de la base:

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

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("select name from customers")
Application("customers")=rs.GetRows
rs.Close
conn.Close
end sub

</script>

Exemple Global.asa

Dans cet exemple, nous allons créer un fichier Global.asa qui compte le nombre de visiteurs actuels.

  • Le Application_OnStart définit la variable d'application "visitors" à 0 lorsque le serveur démarre
  • Le sous - programme Session_OnStart ajoute un à la variable "visitors" chaque fois qu'un nouveau visiteur arrive
  • Le sous - programme Session_OnEnd un retrenche "visitors" à chaque fois que ce sous - programme est déclenché

Le fichier Global.asa:

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

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>

Pour afficher le nombre de visiteurs actuels dans un fichier ASP:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>There are <%response.write(Application("visitors"))%> online now!</p>
</body>
</html>