ASP Le fichier Global.asa


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, variables et méthodes qui peuvent être accessibles par toutes les pages dans une application ASP.
Tous les scripts de navigateur valides (JavaScript, VBScript, JScript, PerlScript, etc) peut être utilisé dans Global.asa.
Le fichier Global.asa peut contenir uniquement la suivante:
  • Les événements d'application
  • Les événements de session
  • déclarations <object>
  • Déclarations TypeLibrary
  • la directive # include
Remarque: Le fichier Global.asa doit être stocké dans le répertoire racine de l'application ASP, et chaque application peut avoir qu'un seul fichier Global.asa.

Manifestations dans Global.asa

En Global.asa vous pouvez dire les objets d'application et de session ce qu'il faut faire lorsque l'application / session débute et ce qu'il faut faire lorsque les extrémités d'application / session. Le code de cette 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 en premier 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 la page NOUVELLES sa première dans l'application ASP.
Session_OnEnd - Cet événement se produit chaque fois qu'un utilisateur termine une session. Une session utilisateur se termine après une page n'a pas été demandé par l'utilisateur pour un délai déterminé (par défaut, il s'agit de 20 minutes).
Application_OnEnd - Cet événement se produit après que le dernier utilisateur a terminé la séance.En règle générale, cet événement se produit quand un serveur Web s'arrête. Cette procédure est utilisée pour nettoyer les réglages après l'application s'arrête, comme supprimer des enregistrements ou écrire des informations dans des fichiers texte.
Un fichier Global.asa pourrait ressembler à ceci:
<script language="vbscript" runat="server">

sub Application_OnStart
'some code
end sub

sub Application_OnEnd
'some code
end sub

sub Session_OnStart
'some code
end sub

sub Session_OnEnd
'some code
end sub

</script>
Remarque: Parce que nous ne pouvons pas utiliser les délimiteurs de script ASP (<% et%>) pour insérer des scripts dans le fichier Global.asa, nous mettons sous-routines dans un élément HTML <script>.

Déclarations <object>

Il est possible de créer des objets avec une étendue session ou application dans Global.asa en utilisant la balise object.
Remarque: La balise object devraient être en dehors de la balise <script>!

Syntaxe

<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}>
....
</object>

ParamètreDescription
portéeDéfinit l'étendue de l'objet (soit Session ou Application)
IdentifiantIndique un identifiant unique pour l'objet
ProgIDUn id associé à un ID de classe. Le format de ProgID est [vendeur.] Composant [. Version]Soit ProgID ou ClassID doit être spécifié.
ClassIDIndique un identifiant unique pour un objet de classe COM.Soit ProgID ou ClassID doit être spécifié.

Exemples

Le premier exemple crée un objet de portée 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 "MaConnexion" 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 n'importe quel 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")%>


Déclarations TypeLibrary

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 peut être consulté, et les erreurs peuvent être mieux signalé par le code ASP. Si votre application Web repose sur des objets COM qui ont déclaré des types de données dans les bibliothèques de type, vous pouvez déclarer les bibliothèques de types dans Global.asa.

Syntaxe

<!--METADATA TYPE="TypeLib"
file="filename" uuid="id" version="number" lcid="localeid"
-->

ParamètreDescription
dossierSpécifie un chemin absolu vers une bibliothèque de types.Soit le fichier de paramètres ou le paramètre uuid est nécessaire
uuidSpécifie un identificateur unique pour la bibliothèque de type.Soit le fichier de paramètres ou le paramètre uuid est nécessaire
versionFacultatif. Permet de choisir la version. Si la version demandée n'est pas trouvée, alors la version la plus récente est utilisée
lcidFacultatif. Le identificateur de paramètres régionaux à utiliser pour la bibliothèque de type

Les valeurs d'erreur

Le serveur peut renvoyer l'un des messages d'erreur suivants:
Code d'erreurDescription
ASP 0222Blancs spécification de bibliothèque de type
ASP 0223Type de bibliothèque introuvable
ASP 0224Bibliothèque de type ne peut pas être chargé
ASP 0225Bibliothèque de type ne peut pas être enveloppé
Remarque: Les balises de métadonnées peuvent apparaître n'importe où dans le fichier Global.asa (tant à l'intérieur et l'extérieur des balises <script>). Cependant, il est recommandé que les balises de métadonnées apparaissent dans la partie supérieure du fichier Global.asa.

Restrictions

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 le serveur et les objets d'application dans les sous-routines et Application_OnStart Application_OnEnd. Dans la sous-routine Session_OnEnd, vous pouvez utiliser le serveur, l'application et session objets. Dans la sous-routine Session_OnStart vous pouvez utiliser n'importe quel 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 le moment exact d'un visiteur arrive pour la première sur un site Web. Le temps est stockée dans une variable de session nommée "commencé", et la valeur de la "commencé" variable peut être consulté à partir de n'importe quelle 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 de page.
L'exemple ci-dessous montre comment rediriger chaque nouveau visiteur vers une autre page, dans ce cas vers 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 la sous-routine Application_OnStart se produit lorsque le serveur Web démarre. Ensuite, le sous-programme appelle un autre sous-routine Application_OnStart nommé "GetCustomers". Le "GetCustomers" sous-routine ouvre une base de données et récupère un jeu d'enregistrements de la "clients" table. Le jeu d'enregistrements est attribué à un tableau, où il peut être consulté depuis n'importe quelle page ASP sans interroger la base de données:
<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 des visiteurs actuels.
  • Le Application_OnStart définit l'application variable "visiteurs" à 0 lorsque le serveur démarre
  • La sous-routine Session_OnStart ajoute un à la variable "visiteurs" à chaque fois qu'un nouveau visiteur arrive
  • La sous-routine Session_OnEnd soustrait un point du "visiteurs" à chaque fois ce sous-programme est déclenchée
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>

0 commentaires:

Post a Comment

HELLO VISITORS THANKS FOR YOUR VISIT AND COMMENT