Dans la série publiée, nous avons discuté de deux objets ASP: objet d'application et objet de session, afin que nous puissions accéder aux collections, méthodes, propriétés et événements fournis par l'objet d'application et l'objet de session. Cette section étudiera ces deux objets du point de vue de la programmation.
· Créez un objet d'application lorsqu'une DLL ASP est chargée et que la première demande à une page Web ASP est répondu. Cet objet fournit un lieu de stockage pour stocker des variables et des objets disponibles pour toutes les pages Web ouvertes par tous les visiteurs.
· Lorsqu'un visiteur demande une page ASP du site pour la première fois, créez un objet de session pour lui et reste valide jusqu'à la période de délai de temps d'expiration par défaut (ou la période de délai de délai déterminé par le script). L'objet fournit un lieu de stockage pour stocker les variables et les objets disponibles uniquement sur les pages Web ouvertes par le visiteur pendant l'activité de la session.
relation
1. Présentation des membres de l'objet de l'application ASP
Cette section décrit la collecte, les méthodes et les événements des objets d'application (les objets d'application n'ont pas de propriétés). L'objet de session (avec propriétés) est expliqué dans la section suivante. Ensuite, nous continuerons d'explorer les tâches accomplies avec ces objets, expliquant plus en détail comment chaque membre de chaque objet fonctionne.
1 et 1 Collection d'objets d'application
L'objet d'application fournit deux collections qui peuvent être utilisées pour accéder aux variables et aux objets stockés dans l'espace d'application global. La collection et la description sont les suivantes:
Collection et description des objets d'application de table
| rassembler | illustrer |
| Contenu | Il n'y a aucun ensemble de toutes les variables (et leurs valeurs) stockées dans l'objet d'application défini à l'aide de l'élément <objet>. Comprend des références à des réseaux de variantes et des instances d'objet de type variant |
| Statique | Une collection de toutes les variables (et de leurs valeurs) stockées dans l'objet d'application défini à l'aide de l'élément <objet> |
2 Méthodes d'objets d'application
La méthode d'objet d'application permet de supprimer des valeurs dans l'espace d'application global, en contrôlant l'accès simultané aux variables dans cet espace. Les méthodes et instructions sont présentées dans le tableau suivant:
Méthodes et descriptions des objets d'application de table
| méthode | illustrer |
| Contenu.reMove (variable_name) | Supprimer une variable nommée variable_name de l'application. |
| Contenu.removeall () | Supprimer toutes les variables de l'application. |
| Verrouillage() | Verrouillez l'objet d'application afin que seule la page ASP actuelle puisse accéder au contenu. Utilisé pour garantir que les opérations simultanées effectuées par des méthodes qui permettent à deux utilisateurs de lire et de modifier la valeur simultanément ne pas corrompre le contenu |
| Ouvrir() | Déverrouiller les pages Web ASP sur les objets d'application |
Notez que les variables ne peuvent pas être supprimées de la collection Application.StaticObjects pendant l'exécution.
3 et 3 Événements d'objets d'application
L'objet d'application fournit deux événements qui sont déclenchés lorsqu'il démarre et se termine, comme indiqué dans le tableau suivant:
Événements et descriptions des objets d'application de table
| événement | illustrer |
| À terre | Déclenché lorsque l'ASP démarre, avant que l'utilisateur ne demande à l'exécution de la page Web et avant que tout utilisateur ne crée l'objet de session. Utilisé pour initialiser les variables, créer des objets ou exécuter un autre code |
| Finesse | Déclenché lorsque l'application ASP se termine. Se produit une fois la dernière session utilisateur terminée et que tout le code de l'événement Onend de cette session a été exécuté. À la fin de celui-ci, toutes les variables présentes dans l'application sont annulées |
Présentation du membre de l'objet de session d'ASP
Cette section décrit tous les membres d'un objet de session.
1 et 1 Collection d'objets de session
L'objet de session fournit deux ensembles qui peuvent être utilisés pour accéder aux variables et aux objets stockés dans l'espace de session local de l'utilisateur. Ces collections et descriptions sont présentées dans le tableau suivant:
Définir et description des objets de session de table
| rassembler | illustrer |
| Contenu | Une collection de toutes les variables et leurs valeurs stockées dans cet objet de session particulier, et ces variables et valeurs ne sont pas définies à l'aide d'éléments <objet>. Comprend des références à des réseaux de variantes et des instances d'objet de type variant |
| Statique | Une collection de toutes les variables stockées dans cet objet de session défini en utilisant l'élément <objet> |
2 Caractéristiques des objets de session
L'objet de session fournit quatre propriétés. Ces propriétés et descriptions sont présentées dans le tableau suivant:
Tableau 3-7 Propriétés et descriptions des objets de session
| propriété | illustrer |
| Codepage | Lire / écrire. Entier. Définit la page de code pour afficher le contenu de la page dans le navigateur. Les pages de code sont des valeurs numériques d'un jeu de caractères, et différentes pages de code peuvent être utilisées dans différentes langues et lieux. Par exemple, la page 1252 du code ANSI est utilisée dans l'anglais américain et la plupart des langues européennes. La page 932 du code est utilisée pour les caractères japonais |
| LCID | Lire / écrire. Entier. Définit l'ID de zone de page (LCID) envoyé au navigateur. LCID est une abréviation standard internationale qui identifie uniquement une région. LCID peut également être utilisé dans le format-monnaie et d'autres instructions tant qu'il existe un paramètre LCID facultatif. LCID peut également être défini dans l'instruction de traitement ASP <% & hellip;%> et a priorité sur les paramètres de l'attribut LCID de la session. Ce chapitre fournit une liste des instructions de traitement ASP plus tard |
| De session | Lecture seule. Forme longue. Renvoie l'identifiant de session pour cette session, qui est générée par le serveur lorsque la session est créée. Uniquement unique pendant la durée de vie de l'objet d'application parent, il peut donc être réutilisé lorsqu'une nouvelle application démarre |
| Temps mort | Lire / écrire. Entier. Définissez une période de délai d'expiration en minutes pour cette session. Si l'utilisateur ne rafraîchit pas ou ne demande pas de page Web pendant la période de délai d'expiration, la session se termine. Vous pouvez le modifier au besoin dans chaque page Web. La valeur par défaut est de 10 minutes. Cette fois devrait être plus court sur les sites à forte utilisation |
3 et 3 Méthodes d'objets de session
L'objet de session permet la suppression des valeurs spécifiées de l'espace de session au niveau de l'utilisateur et termine la session au besoin. Les méthodes et descriptions de l'objet Seesion sont présentées dans le tableau suivant:
Méthodes et descriptions des objets de session de table
| méthode | illustrer |
| Contenu.reMove (variable_name) | Supprimer une variable nommée variable_name de la session. |
| Contenu.removeall () | Supprimer toutes les variables de la session. |
| Abandonner() | Lorsque l'exécution de la page Web est terminée, la session utilisateur actuelle est terminée et l'objet de session actuel est sans papiers. Mais même une fois la méthode appelée, les variables de la session actuelle dans la page sont toujours accessibles. Lorsque l'utilisateur demande la page suivante, une nouvelle session sera démarrée et un nouvel objet de session sera créé (s'il existe) Notez que les variables ne peuvent pas être supprimées de la collection Session.StaticObjects pendant l'exécution. |
4 Événements des objets de session
L'objet de session fournit deux événements déclenchés au démarrage et à la fin, comme indiqué dans le tableau 3-9:
Tableau 3-9 Événements et descriptions des objets de session
| événement | illustrer |
| À terre | Déclenché lorsque la session utilisateur ASP démarre, avant que la page Web demandée par l'utilisateur ne soit exécutée. Utilisé pour initialiser les variables, créer des objets ou exécuter un autre code. |
| Finesse | Déclenché lorsque la session utilisateur ASP se termine. À partir de la dernière demande de page de l'utilisateur à l'application, l'événement est déclenché si la période de délai d'expiration de session prédéterminée a été dépassée. À la fin de la session, annulez toutes les variables de cette session. Cet événement est également déclenché lors de l'utilisation de la méthode Abandon pour mettre fin à une session utilisateur ASP dans le code |
Événements utilisant l'application et la session
L'application et les objets de session d'ASP reflètent des événements de fonctionnalités que d'autres objets intégrés ASP n'ont pas. Cependant, comme le montre le tableau des membres de l'objet précédent, ce sont des événements liés à la session ASP et au travail de l'application.
1 et 1 Manipatives d'événements pour l'application et la session
Chaque fois qu'une application ou une session commence ou se termine, l'ASP déclenche un événement. Ces événements peuvent être détectés et répondus en écrivant un code de script ordinaire dans un fichier spécial, appelé global.asa, situé dans le répertoire racine d'une application (pour le site Web par défaut est / INETPUB / WWWROOT, ou comme un dossier défini comme un réelle application). Ce fichier peut contenir un ou plusieurs éléments <objet> de HTML qui sont utilisés pour créer des instances de composants à utiliser dans l'application ou la session utilisateur.
Le code suivant est un exemple du fichier global.asa. Nous nous concentrons uniquement sur l'élément <objet> et ces lignes de code qui commencent par le mot clé SET:
| <! - Déclarez l'instance du composant Aspcounter avec une portée au niveau de l'application // - > < ID d'objet = AspCounter Runat = Server Scope = Application PROGID = MSWC.COUNTER > < / objet > <! - Déclarez l'instance de la composante AspContentLIMK avec une portée au niveau de la session // - > < ID d'objet = aspContentLink runat = server scope = session ProgId = MSWC.NextLink> < / objet > < Script Language = VBScript Runat = Server > Sub application_onstart () 'Créer une instance d'un ensemble de records ADO avec une portée au niveau de l'application Définir l'application (adoconnection) = server.createObject (adodb.connection) Dim Vararray (3) 'Créez un tableau variant et remplissez-le VarArray (0) = c'est un VarArray (1) = tableau des variantes VarArray (2) = stocké dans le VarArray (3) = objet d'application Application (variant_array) = varArray'store It dans l'application Application (start_time) = cstr (maintenant) 'stocker la date / heure en tant que chaîne Application (Visit_Count) = 0 'Set Counter Variable à zéro Sub-Sub Sub application_onend () Définir l'application (adoconnection) = rien Sub-Sub Sub sesser_onstart () 'Créez une instance du composant Adrotator avec une portée au niveau de la session Set session (aspadrotator) = server.createObject (mswc.adrotator) Dim Vararray (3) 'Créez une variante Arry et remplissez-la VarArray (0) = c'est un VarArray (1) = tableau des variantes VarArray (2) = stocké dans le VarArray (3) = objet de session Session (variant_array) = VarArray 'Stockez-le dans la session Session (start_time) = cstr (maintenant) 'Stockez la date / heure en tant que chaîne 'Nous pouvons accéder au contenu de la demande et de la réponse dans une session_onstart «Géréditeur d'événements pour la page qui a lancé la session. «Place que le contexte de la page ASP est disponible comme celui-ci. «À titre d'exemple, nous pouvons obtenir l'adresse IP de l'utilisateur: Session (your_ip_address) = request.servervariables (Remote_addr) Application.lock intVisits = application (visiter_count) +1 Application (visiter_count) = intVisits Application.unlock Sub-Sub Sub session_onend () Set Session (Aspadrotator) = Rien Sub-Sub < / script > |
Étant donné que ce fichier global.asa est utilisé dans l'exemple de la page de ce chapitre, il sera nécessaire de mettre le fichier dans le répertoire racine du site Web, ou dans un répertoire configuré en tant qu'application virtuelle, et inclure le répertoire d'autres exemples de fichiers exemples de fichiers .
Lire et stocker les valeurs
Remarquez l'exemple ci-dessus comment lire les variables d'application et de session, de la même manière que vous prenez une collection d'objets de demande et de réponse. Définissez les valeurs de ces variables:
| Application (variable_name) = variable_value Application (variable_name) = variable_array_variable_name Définir l'application (variable_name) = object_reference |
Obtenez les valeurs de ces variables:
| variable_value = application (variable_name) variant_array_variable = application (variable_name) Set object_reference = application (variable_name) |
Bien sûr, la même approche peut être adoptée pour les objets de session.
Vous pouvez voir comment verrouiller et déverrouiller l'objet d'application lorsqu'il est accessible à partir d'un processeur d'événements de session; Cela n'est pas requis lors de l'accès aux valeurs dans des objets d'application à l'aide du code dans les événements d'application. En effet, dans n'importe quelle application, il n'y a qu'une seule instance de l'objet d'application, et le code de son gestionnaire d'événements n'est effectué que lorsqu'il n'y a pas de session utilisateur active.
Vous pouvez également voir comment un compteur de session utilisateur de base est implémenté. Voici une variable au niveau de l'application Visit_count, qui est automatiquement augmentée lorsque une nouvelle session démarre. Généralement, il n'est pas limité à simplement enregistrer des valeurs dans les objets d'application ou de session. Par exemple, le site Web du développeur Web dispose d'un fichier global.asa correspondant sur http://webdev.wrox.co.uk. sont obtenus à partir de la requête. Servervariables Collection. Cela fournit une méthode de base pour compter le nombre de visiteurs et collecter des informations de base sur les visiteurs.