Dans l'article précédent, l'auteur a introduit en détail deux méthodes très pratiques d'utilisation de l'application et de la session d'objets intégrés ASP. Étant donné que les scripts sur les événements OnStart et Onend doivent être déclarés dans le fichier global.asa, cet article introduira en détail comment utiliser le fichier global.asa. Afin de permettre à chacun de maîtriser les connaissances qu'ils ont apprises jusqu'à présent, cet article comprendra également un programme de chat ASP pour votre référence.
Récemment, de nombreux amis m'ont envoyé une lettre pour me demander pourquoi il y a de telles erreurs lors de l'exécution du programme d'exemples dans les deux premiers numéros. Tout d'abord, je tiens à vous déclarer que ces programmes sont écrits par moi-même et ont réussi l'inspection de la qualification avant de quitter l'usine, et il n'y a pas de produits contrefaits et de mauvaise qualité. :) Étant donné que les cookies sont utilisés dans le programme pour enregistrer les informations des clients, si vous ne définissez pas les cookies dans votre navigateur, le programme ne s'exécutera pas normalement. En outre, la méthode utilisée par le programme pour enregistrer les informations du client dans les cookies du client est la balise. HTTP Si les informations d'en-tête HTTP ont été transmises au client, si la réponse.cookie est utilisée après que les informations d'en-tête HTTP ont été transmises au client, l'erreur suivante apparaît: l'en-tête HTTP a été écrit au navigateur du client. Toute modification d'un en-tête HTTP doit être avant d'écrire sur le contenu de la page. , Certains amis peuvent ne pas prêter attention lors de l'élimination du programme, de la perturbation de l'ordre avant et du retour du programme, ou d'ajouter à tort du code HTML avant le programme de l'échantillon ASP, entraînant une erreur dans le cadre du programme. Par conséquent, je suggère que d'une part, ne modifiez pas le programme lors de l'exécution de la routine pour la première fois et essayez de l'améliorer progressivement en fonction de la compréhension du programme. Vous devez au moins sélectionner des cookies acceptables dans le navigateur.
Ensuite, je vous présenterai comment utiliser le fichier global.asa.
Qu'est-ce qu'un fichier global.asa? 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. Le nom du fichier doit être global.asa et doit être stocké dans le répertoire racine de l'application. Chaque application ne peut avoir qu'un seul fichier global.asa.
Dans le fichier global.asa, si le script inclus n'est pas encapsulé avec la balise <cript>, ou si l'objet défini n'a pas de session ni de portée d'application, le serveur renvoie une erreur. Nous pouvons écrire des scripts inclus dans le fichier global.asa dans n'importe quelle langue compatible avec le script. Si plusieurs événements sont dans le même langage de script, ils peuvent être organisés dans un ensemble de balises <cript>.
Le processus déclaré dans le fichier global.asa ne peut être appelé qu'à partir d'un ou plusieurs scripts liés aux événements applicables_onstart, application_onend, session_onstart et session_onend. Ils ne sont pas disponibles dans la page ASP des applications basées sur ASP. Si vous souhaitez partager des procédures entre les applications, vous pouvez les déclarer dans un fichier séparé, puis utiliser l'instruction Inclusion Side-Side Inclusion (SSI) pour inclure le fichier dans le programme ASP qui appelle la procédure. Généralement, l'extension du fichier contenu doit être .inc.
Voici un fichier global.asa très standard:
<Script Language = VBScript Runat = Server>
'Session_onstart s'exécute lorsque le client exécute pour la première fois n'importe quelle page dans l'application ASP
'Session_onend s'exécute lorsque la session d'un client a chronométré ou quitte l'application
'Application_onstart s'exécute lorsqu'un client accède à la page d'accueil de l'application
'Application_onend s'exécute lorsque le serveur Web du site est en panne
</cript>
<Script Language = VBScript Runat = Server>
Sous-application_onstart
VisitorCountFileName = Server.Mappath (/ Ex2) + /VisitCount.txt
Set fileObject = server.createObject (scripting.filesystemObject)
Set Out = fileObject.OpenStExtFile (VisitorCountFileName, 1, False, False)
Application (visiteurs) = out.readline
Application (VisitorCountFileName) = VisitorCountFileName
Sub-Sub
'==============================================. ================== ========.
Sous-application_onend
Set fileoutObject = server.createObject (scripting.filesystemObject)
Set Out = fileoutObject.CreateTextFile (application (visitorCountFileName), true, false)
Out.writeline (application (visiteurs))
Sub-Sub
'==============================================. ================== ========== Sub Session_onstart
Session.Timeout = 5
Application (visiteurs) = application (visiteurs) + 1
Session (id) = session.SessionId
Sub-Sub
</cript>
Dans ce programme global.asa, le composant d'accès aux fichiers d'ASP est impliqué, qui fournit des méthodes, des propriétés et des collections pour accéder au système de fichiers. Cela sera discuté dans les futurs composants ASP. Ici, il sert à créer de nouveaux fichiers sur le serveur et à écrire dans les fichiers. Il s'agit en fait d'un fichier global d'une application ASP Page Access Counter. Chemin et contenu du fichier dans les variables au niveau de l'application. Lorsqu'un client accède à une page dans une application ASP, la définition de Session_onstart Process_onstart ajoute automatiquement la valeur des visiteurs de la variable au niveau de l'application. De cette façon, chaque fois qu'un client visite la page, les visiteurs variables seront automatiquement ajoutés à la fonction de compter le taux de clics. Étant donné que la valeur des visiteurs variables est stockée dans la mémoire système, si le serveur est arrêté ou redémarré, les données stockées dans la variable seront automatiquement perdues. Le serveur est arrêté ou redémarré.
Après cette période d'étude, je pense que tout le monde a pu utiliser les objets ASP intégrés que nous avons appris à écrire des applications ASP plus simples. Développer des applications ASP simples mais pratiques. Permettez-moi de vous donner un programme de salle de chat ASP très simple. Peut-être que des amis ont vu comment rédiger des programmes de chat ASP dans certains magazines, mais l'auteur a écrit un programme plus simple ici, en utilisant un seul fichier .asp. Veuillez couper le code suivant dans le bloc-notes et l'enregistrer sous le nom de Chat.asp.
<% @ Language = vbscript%>
<%
Response.Buffer = True 'Définissez le cache de sortie pour afficher différentes pages.
Sur l'erreur reprendre ensuite 'ignorer la partie d'erreur du programme
Si request.servervariables (request_method) = obtenez alors
«Déterminez comment le client demande la page Web
'------------------------------------------------- -------------------------------------------------- --------------------------
'Interface de connexion client
'------------------------------------------------- -------------------------------------------------- --------------------------
%>
<formulaire méthode = post-action = chat.asp> <p>
<Type d'entrée = Nom du texte = Nick Size = 20 Value = Nick Style = Background-Color: RGB (192,192,192)> <br>
<Type d'entrée = Value = Entrez le nom de la salle de chat = B1 Style = Couleur: RGB (255,255,0);
<p> <Type de saisie = nom caché = log size = 20 value = 1> <br> </p>
</ form>
<%
Réponse.end 'terminer le processus du programme
Autre
Response.Clear 'effacer le contenu dans le cache
discours faible
Si request.form (nick) <> alors
'Déterminez si le client est dans l'interface de chat
Session (nick) = request.form (nick)
Terminer si
'------------------------------------------------- -------------------------------------------------- --------------------------
Interface de chat client
'------------------------------------------------- -------------------------------------------------- --------------------------
%>
<formulaire méthode = post-action = chat.asp name = form1> <p> <% = session (nick)%> Speak: <input type = text name = talk size = 50> <br>
<Type d'entrée = Soumider Value = Soumider Name = B1>
<entrée type = réinitialiser la valeur = Annuler Name = B2> </p>
</ form>
<A href = / asptest / shusheng / chat.asp> quitter </ / a> <br> <br>
<%
Si request.form (log) <> 1 alors
Si Trim (request.form (talk)) = alors
«Déterminez si l'utilisateur n'a rien entré
Talk = Session (Nick) et le silence est l'or.
Autre
talk = trim (request.form (talk))
'Retirez l'espace après le caractère
Terminer si
Application.lock
Application (Show) = <Table Border = '0' CellPadding = '0' Cellpacing = '0' width = '85% '> <tr> <td width =' 100% 'bgColor =' # c0c0c0 '> </ td > </tr> <tr> <td width = '100%'> <font color = '# 0000ff'> & session (Nick) & Time & From & request.servervariables (Remote_Addr) & a dit: </font> & talk & </td> </tr> <tr> <td width = '100%' bgcolor = '# c0c0c0'> </td> </tr> </s table> <br> & application (show)
Application.unlock
APPLICATION DE RESPONSE.WRITE (Show)
Terminer si
Terminer si
%>
Effectuons une analyse étape par étape de ce programme de salle de discussion.
Tout d'abord, car tous les clients de la salle de chat doivent être en mesure de partager des informations, il est inévitable d'utiliser l'application objet avec des variables au niveau de l'application. -vel. Nous pouvons utiliser l'objet de demande que nous avons appris à faire saisir la conversation par le client et à l'enregistrer dans le discours variable, puis à stocker la valeur de la conversation dans le spectacle de variable au niveau de l'application, comme suit:
<% Application (show) = talk & application (show)%>
La prochaine chose à considérer est de savoir comment traiter avec différents clients lorsqu'ils fonctionnent sur des applications de chat en même temps. Ce problème est en fait le même que deux utilisateurs de la base de données écrivant le même enregistrement en même temps. un autre utilisateur. a disparu avant que quiconque était présent dans la session ne le voyait. Pour éviter ce type de problème, nous devons utiliser la propriété de verrouillage de l'objet d'application pour limiter uniquement l'utilisateur actuel pour modifier ou ajouter des propriétés de l'objet d'application. Déverrouillé explicitement jusque-là, les propriétés de l'objet d'application ne peuvent être modifiées que par l'utilisateur. Comme indiqué ci-dessous:
Application.lock
Application (show) = talk & application (show)
Application.unlock
Maintenant que vous avez compris la partie principale de l'ensemble du programme, considérez comment enregistrer les informations du client. comme:
Session (nick) = request.form (nick)
Enfin, ce que nous devons considérer, c'est comment gérer divers événements uniquement dans un fichier .asp, tel que: Interface de connexion client, interface de chat client. Puisque la première fois que le client demande le fichier .asp, il utilise une méthode HTTP GET simple, mais lorsque le client ajoute des données au champ de formulaire sur la page et soumet le formulaire à lui-même, le fichier .asp sera à nouveau demandé, mais Ces données sont transmises via HTTP Post. La façon dont le fichier est demandé peut être déterminée de deux manières. Tout d'abord, testez si la collection de demande contient des membres. La seconde consiste à utiliser la variable Request.ServerVariables (Request_Method). Si le formulaire est demandé via HTTP GET, cette variable renvoie Get and Publiage si le formulaire est soumis. Étant donné que cette dernière méthode est plus directe pour déterminer la méthode de demande d'un fichier, nous utilisons le code suivant pour porter un jugement:
si request.servervariables (request_method) = obtenez alors
Étant donné que nous configurons le cache ASP, lorsque le programme détermine que la méthode de la demande de page est GET, le programme exécute Response.end pour mettre fin à toutes les opérations suivantes. Exécution du programme. De cette façon, nous pouvons utiliser le même fichier .asp pour afficher différentes interfaces aux clients en fonction de différentes situations.
D'accord, je vous ai dit la partie principale de ce programme de chat ASP. Ne parlez pas dans le chat, vous ne verrez pas ce que les autres clients disent. Tout le monde connaît le charme du chat dans Internet. Améliorez progressivement le niveau de ce programme de chat afin que tout le monde puisse également transmettre la version cachée de l'opéra. Remarque: avec ce programme de chat, vous pouvez l'utiliser pour créer une application de chat sur votre PWS. Grâce à votre ordinateur.