Dans l'article précédent, l'auteur a introduit en détail comment utiliser la réponse d'objet intégrée ASP.
En plus des objets utilisés pour envoyer, recevoir et traiter les données, il existe également des objets très pratiques représentant des applications de serveur actifs et des informations utilisateur individuelles dans ASP.
Jetons un coup d'œil à l'objet d'application en premier. Tous les fichiers .asp dans le même répertoire virtuel et ses sous-répertoires constituent l'application ASP. Au lieu d'utiliser des objets d'application, nous pouvons partager des informations entre tous les utilisateurs d'une application donnée et enregistrer des données de manière persistante pendant le fonctionnement du serveur. En outre, l'objet d'application dispose également de méthodes pour contrôler l'accès aux données et à des événements au niveau de l'application qui peuvent être utilisés pour déclencher un processus lorsqu'une application démarre et s'arrête.
Apprenons ensemble les objets d'application.
1. Attributs
Bien que l'objet d'application n'ait pas de propriétés intégrées, nous pouvons définir des propriétés définies par l'utilisateur à l'aide de la syntaxe suivante, qui peut également être appelée collections.
Application (propriété / nom de collection) = valeur
Nous pouvons déclarer et créer des propriétés de l'objet d'application à l'aide du script suivant.
<%
Application (myvar) = bonjour
Définir l'application (myObj) = server.createObject (myComponent)
%>
Une fois que nous attribuons les propriétés de l'objet d'application, il persiste jusqu'à l'arrêt du service de serveur Web afin que l'application s'arrête. Étant donné que les valeurs stockées dans l'objet d'application peuvent être lues par tous les utilisateurs de l'application, les propriétés de l'objet d'application sont particulièrement adaptées pour passer des informations entre les utilisateurs de l'application.2. Méthode
Les objets d'application ont deux méthodes, qui sont toutes deux utilisées pour gérer plusieurs utilisateurs rédigeant des données stockées dans l'application
1. La méthode de verrouillage interdit à d'autres clients de modifier les propriétés de l'objet d'application.
La méthode de verrouillage empêche les autres clients de modifier les variables stockées dans l'objet d'application pour s'assurer qu'un seul client peut modifier et accéder aux variables d'application en même temps. Si l'utilisateur n'appelle pas explicitement la méthode de déverrouillage, le serveur déverrouillera l'objet d'application après la fin du fichier .asp.
Jetons un coup d'œil au programme suivant qui utilise l'application pour enregistrer le nombre d'accès aux pages:<%
Dim numVisitsNumvisits = 0
Application.lockApplication (numVisits) = application (numVisits) + 1
Application.unlock
%>
Bienvenue sur cette page, vous êtes le visiteur <% = application (numvisits)> sur cette page!
Enregistrez le script ci-dessus dans votre fichier .asp et ajoutez facilement un compteur à votre page.
2. Contrairement à la méthode de verrouillage, la méthode de déverrouillage permet à d'autres clients de modifier les propriétés de l'objet d'application.
Dans l'exemple ci-dessus, dans l'exemple ci-dessus, la méthode de déverrouillage déverrouille l'objet afin que le client suivant puisse augmenter la valeur de NumVisits.
III.
1. Application_onstart
L'événement Application_onstart se produit avant la première création d'une nouvelle session (c'est-à-dire l'événement Session_onstart). L'événement APPLICATION_ONSTART est déclenché lorsque le serveur Web démarre et autorise les demandes aux fichiers contenus dans l'application. Le traitement de l'événement Application_onstart doit être écrit dans le fichier global.asa.La syntaxe de l'événement Application_onstart est la suivante:
<Script Language = ScriptLanguage Runat = Server>
Sous-application_onstart.
Sub-Sub
</cript>
2. Applicati
on_onend
L'événement APPLICATION_ONEND se produit après l'événement Session_onend lorsque l'application sort.
Jetons un coup d'œil à certaines choses auxquelles vous devez prêter attention lors de l'utilisation d'objets d'application.
Les objets intégrés ASP ne peuvent pas être stockés dans les objets d'application. Par exemple, chaque ligne ci-dessous renvoie une erreur.
<%
Définir l'application (var1) = session
Définir l'application (var2) = demande
Définir l'application (var3) = réponse
Définir l'application (var4) = serveur
Définir l'application (var5) = application
Définir l'application (var6) = objectContext
%>
Si vous stockez un tableau dans un objet d'application, ne modifiez pas directement les éléments stockés dans le tableau. Par exemple, le script suivant ne peut pas s'exécuter.
<% Application (stockageArray) (3) = nouvelle valeur%>
En effet, l'objet d'application est implémenté en tant que collection. Élément de tableau stocké (3) Aucune nouvelle affectation n'a été obtenue. Cette valeur sera incluse dans la collection d'objets d'application et écrasera toutes les informations précédemment stockées à cet emplacement. Il est recommandé d'obtenir une copie du tableau avant de récupérer ou de modifier les objets dans le tableau lors du stockage du tableau dans l'objet d'application. Lorsque vous opérez sur un tableau, vous devez stocker tous les tableaux dans l'objet d'application afin que les modifications que vous apportez soient stockées. Le script suivant le démontre.
--- asp8a.asp ---
<%
Dim MyArray ()
Redim MyArray (5)
MyArray (0) = Bonjour
MyArray (1) = une autre chaîne
Application.lock
Application (stockageArray) = MyArray
Application.unlock
Réponse.redirect asp8b.asp
%>
--- asp8b.asp ---
<%
LocalArray = Application (StoredArray)
LocalArray (1) = là
Response.Write localArray (0) & LocalArray (1)
Application.lock
Application (stockageArray) = localArray
Application.unlock
%>
La session est la session. Nous pouvons utiliser l'objet de session pour stocker les informations nécessaires pour une session utilisateur spécifique. Lorsque l'utilisateur saute entre les pages de l'application, les variables stockées dans l'objet de session ne sont pas effacées et ces variables existent toujours lorsque l'utilisateur accède à la page de l'application. Lorsqu'un utilisateur demande une page Web de l'application, si l'utilisateur n'a pas eu de session, le serveur Web créera automatiquement un objet de session. Lorsque la session expire ou est abandonnée, le serveur termine la session.
Les objets de session sur le serveur peuvent être gérés en envoyant des cookies uniques au programme client. Lorsqu'un utilisateur demande une page dans l'application ASP pour la première fois, l'ASP vérifie les informations d'en-tête HTTP pour voir s'il y a un cookie nommé AspSessionId dans le message. Valeur pour la session et envoyez cette valeur au client comme valeur du nouveau cookie AspSessionId. La fonction la plus courante d'un objet de session est de stocker les préférences des utilisateurs. Par exemple, si l'utilisateur indique qu'il n'aime pas afficher les graphiques, il peut stocker les informations dans un objet de session. De plus, il est souvent utilisé dans les programmes qui identifient les clients. Il convient de noter que l'état de la session n'est conservé que dans les navigateurs qui prennent en charge les cookies, et si le client désactive l'option cookie, la session ne fonctionnera pas.
1. Attributs
1. Sessionid
Ses
La propriété Sionid renvoie l'identité de session de l'utilisateur. Lors de la création d'une session, le serveur génère une identité distincte pour chaque session. L'identifiant de session est renvoyé comme le type de données allongé. Dans de nombreux cas, SessionID peut être utilisé pour les statistiques d'enregistrement des pages Web.
2. Timeout
La propriété de délai d'expiration spécifie un délai de délai de délai pour l'objet de session de l'application en quelques minutes. Si l'utilisateur ne rafraîchit pas ou ne demande pas de page Web au cours de cette période de délai, la session se terminera.
2. Méthode
Il n'y a qu'une seule méthode pour un objet de session, qui est l'abandon. Si vous n'appelez pas explicitement la méthode d'abandon, le serveur supprimera ces objets une fois que la session a expiré. Lorsque le serveur a terminé le traitement de la page actuelle, l'exemple suivant libère l'état de session.
<% Session.abandon%>
III.
L'objet de session a deux événements qui peuvent être utilisés lorsque l'objet de session est démarré et que la sortie est exécutée.
1. L'événement Session_onstart se produit lorsque le serveur crée une nouvelle session. Le serveur traite le script avant d'exécuter la page demandée. L'événement Session_onstart est le meilleur moment pour définir les variables de session, car ils sont définis avant d'accéder aux pages.
Bien que l'objet de session reste lorsque l'événement Session_onstart contient un appel de méthode de redirection ou de fin, le serveur arrête de traiter le fichier global.asa et déclenche le script dans le fichier qui déclenche l'événement Session_onstart.
Pour s'assurer que l'utilisateur démarre toujours une session lors de l'ouverture d'une page Web spécifique, la méthode de redirection peut être appelée dans l'événement Session_onstart. Lorsque l'utilisateur entre dans l'application, le serveur crée une session pour l'utilisateur et traite le script d'événement Session_onstart. Vous pouvez inclure le script dans cet événement pour vérifier si la page ouverte par l'utilisateur est une page de démarrage, et sinon, demandez à l'utilisateur d'appeler la méthode de réponse.redirect pour démarrer la page Web. La procédure est la suivante:
<Script runat = server lingngle = vbscript>
Sous-session_onstart
startpage = /myapp/starthere.asp
currentPage = request.servervariables (script_name)
Si StrComp (CurrentPage, StartPage, 1) alors
Réponse.redirect (startpage)
terminer si
Sub-Sub
</cript>
Les programmes ci-dessus ne peuvent fonctionner que dans les navigateurs qui soutiennent les cookies. Étant donné que les navigateurs qui ne prennent pas en charge les cookies ne peuvent pas renvoyer des cookies de sessionid, le serveur crée une nouvelle session chaque fois qu'un utilisateur demande une page Web. De cette façon, pour chaque serveur de demande, le script Session_onstart sera traité et l'utilisateur sera redirigé vers la page de démarrage.
2. L'événement Session_onend se produit ou chronométré pendant la session.
Les choses à noter sur l'utilisation d'objets de session.
La session peut être lancée dans les trois manières suivantes:
1. Un nouvel utilisateur demande l'accès à une URL qui identifie le fichier .asp dans une application, et le fichier global.asa de l'application contient le processus Session_onstart.
2. L'utilisateur stocke une valeur dans l'objet de session.
3. L'utilisateur a demandé un fichier .asp de l'application et le fichier global.asa de l'application utilise la balise <objet> pour créer une instance d'un objet avec une portée de session.
Si l'utilisateur ne demande ni ne rafraîchit des pages dans l'application dans le délai spécifié, la session se terminera automatiquement. La valeur par défaut de cette période est de 20 minutes. Vous pouvez modifier les paramètres de limite de délai d'expiration par défaut pour une application en définissant la propriété Session Timeout dans la page de propriété Options d'application dans Internet Service Manager. Cette valeur doit être définie en fonction des exigences de votre application Web et de l'espace mémoire du serveur. Par exemple, si vous souhaitez que les utilisateurs qui souhaitent parcourir votre application Web restent sur chaque page pendant quelques minutes, vous devez raccourcir la valeur de délai d'expiration par défaut pour votre session. Une valeur de délai d'expiration trop longue provoquera trop de sessions ouvertes et épuisera les ressources de mémoire de votre serveur. Pour une session spécifique, si vous souhaitez définir une valeur de délai d'expiration inférieure à la valeur de délai d'expiration par défaut, vous pouvez définir l'objet de session
Propriété de délai d'attente. Par exemple, le script suivant définit la valeur de délai d'expiration à 5 minutes.
<% Session.Timeout = 5%>
Bien sûr, vous pouvez également définir une valeur de délai d'expiration supérieure au paramètre par défaut. Vous pouvez également terminer explicitement une session via la méthode Abandon de l'objet de session. Par exemple, fournissez un bouton de sortie dans le tableau, en définissant le paramètre d'action du bouton sur l'URL du fichier .asp contenant les commandes suivantes.
<% Session.abandon%>
Aujourd'hui, nous avons appris deux objets intégrés qui utilisent souvent ASP sur les pages Web, en particulier sur les BB ou le chat basés sur le Web. . Veuillez prêter attention aux dix-huit arts martiaux de la conception de sites Web dynamiques - ASP (9).