Le fichier global.asa est un fichier facultatif. Les utilisateurs peuvent déclarer la session et les objets à l'échelle de l'application dans le script d'événement spécifié. Aujourd'hui, le rédacteur en chef de la chaîne de technologie Fooxin a spécialement collecté et réglé des informations pertinentes. Les amis intéressés peuvent aller à l'article suivant pour en savoir plus!
Nous savons tous que .asa est le nom du suffixe de fichier. Il s'agit de l'acronyme de l'application de serveur actif.
Il s'agit en fait d'un fichier facultatif dans lequel l'écrivain de programme peut spécifier les scripts d'événements et déclarer des objets avec des lunettes de session et d'application. Le contenu de ce fichier n'est pas utilisé pour s'afficher à l'utilisateur, mais pour stocker les informations d'événements et les objets utilisés globalement par l'application. Ce fichier doit être stocké dans le répertoire racine de l'application. Chaque application ne peut avoir qu'un seul fichier global.asa.
L'idée fausse la plus courante sur les fichiers Global.asa est qu'elle peut être utilisée comme bibliothèque pour les fonctions d'utilisation générale et les sous-programmes. Le fichier global.asa ne peut être utilisé que pour créer des références et capturer des startups d'objets, ainsi que des objets d'application finaux et des objets de session.
Le fichier global.asa est accessible en fonction des événements au niveau de la session et est appelé dans les trois cas suivants:
Le format de fichier standard de Global.asa est le suivant:
<Script lingots = "vbscript" runat = "server"> sous application_onstart 'application_onstart exécuter se terminer subs session_onstart la première fois qu'un client accède à la page d'accueil de l'application' session_onstart exécuter fin ub sous session_onend 'session_onend exécuter la fin de session_onend' session_onennd
1. Session_onstart
Examinons d'abord un code qui contrôle les utilisateurs pour entrer la page:
1. Global.asa (placé sous le répertoire racine du répertoire virtuel débogué)
<Script lingots = "vbscript" runat = "server"> sub session_onstart 'tant que l'utilisateur se connecte à ce site pour la première fois, il passera à la page d'accueil Response.redirect (http://www.jb51.net) end sous </cript>
Ensuite, déboguez tous les fichiers dans le répertoire virtuel actuel, et vous constaterez que toutes les pages passent à http://www.webjx.com/ <
Grâce à cet exemple de "entrée forcée dans une certaine page", on peut imaginer qu'il est très nécessaire lorsque la page d'accueil doit être suivie.
Continuons à observer les événements Session_onstart et Session_onend avec un exemple de «nombre d'utilisateurs en ligne»
2. Session_onend
2. Global.asa (placé sous le répertoire racine du répertoire virtuel débogué)
<Script Language = VBScript Runat = Server> Sub Application_onStart 'La valeur initiale est 0 Application ("Online") = 0 End Sub Sub session_onstart' Un accès utilisateur ajoute 1 application application.LOCK ("en ligne")) ("en ligne") + 1 application. Application ("en ligne") - 1 application.unlock end sub </cript>3. en ligne.asp
<% si request.QueryString ("Logout") = "true" alors session.abandon () Response.end end If%> Il y a actuellement <% = application ("Online")%> en ligne <a href = "online.asp? Logout = true"> exit </a>Vous constatez qu'il n'y a qu'une seule application ("en ligne") dans la page, et elle est également référencée. Alors, d'où vient sa valeur? C'est la clé du fichier global.asa. Vous pouvez ouvrir Windows dans cette machine, fermer les fenêtres ou quitter le débogage des deux méthodes.
3. Continuez à l'affiner
Vous constaterez que les effets de la fermeture de la fenêtre après la connexion "sortie" sont différents de la fermeture directement de la fenêtre. Parce que la session existe dans le temps, lors de la fermeture directement de la fenêtre, l'événement Session_onend ne peut pas être déclenché, alors comment cette idée presque impossible peut-elle être réalisée?
Comme nous le savons tous, lorsqu'une page Web est fermée, elle peut être accompagnée d'un événement onunload. Donc, tant que la charge d'on peut être exécutée, n'est-ce pas tout ce dont nous avons besoin? Dites moins de bêtises, modifiez en ligne.asp
<% if request.QueryString ("Logout") = "true" alors session.abandon () Response.end end if%> <body onunload = javascript: window.open ("exit.asp")> Il y a actuellement <% = application ("en ligne")%> en ligne <a href = "en ligne.asp? Logout = true"> exit </a>Notez que lorsque Online.asp est sur le chargement, exit.asp sera ouvert. Ensuite, définissez simplement session.abandon () dans exit.asp et pas ok.
exit.asp
<% session.abandon ()%> <cript> self.close () </cript>
Bien sûr, un script de script a été ajouté pour se fermer immédiatement après la déconnexion de la session. Maintenant, une simple application Web avec des statistiques en ligne suffit.
4. Étude approfondie de Global.asa
D'après le débogage ci-dessus, vous apprendrez d'un exemple et l'appliquerez à d'autres et poserez certainement une question: comment contrôler le nombre d'utilisateurs enregistrés en ligne? Lisons les documents suivants un par un:
4. Global.asa (placé sous le répertoire racine du répertoire virtuel débogué)
<Script lingots = "vbscript" runat = "server"> subs application_onstart application ("en ligne") = 0 fin subs session_onstart end sous sub session_onend si session.contents ("pass") puis 'déterminer s'il s'agit de l'application Session_onend application.lock ("en ligne").Notez que le bloc Session_onstart dans ce Global.asa ne provoque aucun événement.
Étant donné qu'une fois qu'un utilisateur accède au serveur, que l'utilisateur se connecte ou non, un événement sur le stop sera généré. Maintenant, tout ce dont vous avez besoin est de vous connecter à l'utilisateur en ligne, vous ne pouvez donc pas ajouter 1 à l'événement OnStart.
De plus, parce que l'événement Onend sera généré, que la session de l'utilisateur connecté soit terminée (si un visiteur visite le serveur mais n'est pas connecté, l'événement Onend sera également généré après la fin de la session), donc une instruction IF est utilisée dans l'événement Session_onend pour déterminer s'il s'agit de l'événement Onend de l'utilisateur connecté. Si c'est le cas, le nombre de personnes en ligne sera réduit de 1.
Et il convient de noter que l'utilisation de session.Contents ("Pass") est due au fait que l'utilisation des objets de session est interdite dans l'événement Onend, mais la variable de session peut être appelée en utilisant une collection d'objets de session. En d'autres termes, vous ne pouvez pas écrire la session ("passer") directement, mais vous devez écrire session.Contents ("passer").
5. Connexion.asp
Membre actuellement enregistré <% = application ("en ligne")%>.
<a href = "Login.asp? Logout = true"> exit </a> <% else%> <form action = "Login.asp" Method = "Post"> <input type = "text" name = "name"> <br> <input type = "passway" name = "pwd"> <br> <intry type = "soumi" name = "soumide" value = "soumis"> <% fin
Il suffit de détecter que lorsque le nom de Cnbruce et le mot de passe est CNROSE, une session ("pass") = True est générée, qui est jugée dans Global.asa.
5. Continuez à utiliser votre imagination
Pensez-y, pensez à nouveau. Il ne suffit pas de compter le nombre de personnes en ligne, et cela nécessite également de juger le statut en ligne de l'utilisateur.
Vous pouvez imaginer la méthode de base. Lorsque l'utilisateur se connecte, définissez le en ligne sur 1 dans Login.asp (téléchargez s'il y a une base de données), mais lorsque l'utilisateur est hors ligne, définissez le en ligne sur 0. Pour l'améliorer, vous devez modifier l'événement Session_onend et définir l'on en ligne sur 0 dans l'événement (la même valeur sera téléchargée) ...
Bien sûr, Global.asa est bien plus que cela. Mais nous n'avons pas à nous précipiter pour tout maîtriser maintenant. Lorsque nous entrons en contact avec la base de données, nous reviendrons pour l'examiner et continuerons à étudier le fichier. Je crois qu'à ce moment-là, nous réaliserons certainement beaucoup. Alors, comprenons d'abord ce qui précède.
J'espère que grâce à cet article, j'analyserai brièvement l'utilisation des fichiers Global.asa d'ASP, ce qui peut vous apporter plus d'aide. Des connaissances plus techniques seront disponibles sur le réseau de chaînes de technologie Wuxin!