L'objet Application permet de partager des informations entre plusieurs utilisateurs d'une application.
Application.[méthode | propriété]
Dans le langage ASP, une application représente un ensemble de fichiers .asp situés dans un même répertoire.
Ainsi, l'objet Application se comporte comme un conteneur d'objets partagés susceptibles d'être accédés et modifiés par les utilisateurs connectés aux fichiers concernées, soit les fichiers formant une application.
Application.Contents("Identificateur") = expression
L'expression suivante est équivalente à la seconde, mais est plus courte.
Application("Identificateur") = expression
Cet exemple permet de partager le modèle d'objet FileSystemObject entre les différents documents ASP d'une application.
Set Application("fso") = _ Server.CreateObject("Scripting.FileSystemObject")
Désormais, l'objet Application identifié par fso peut utiliser les méthodes et propriétés du modèle d'objet FileSystemObject.
Set fichier = Application("fso").GetFile(chemin)
Il est également possible pour des raisons de commodités d'affecter l'objet Application à une variable.
objet_fso = Application("fso")
Puisqu'un objet Application peut être utilisé par plusieurs personnes simultanément, il est souhaitable qu'un seul et unique utilisateur puisse modifier la valeur de l'objet à la fois, comme dans le cas d'un compteur notamment.
Application.Lock Application("Compteur_visite") = Application("Compteur_visite") + 1 Application.Unlock Response.Write "Nb de visites : " & Application("Compteur_visite")
C'est pourquoi, deux méthodes Lock et Unlock permettent de vérouiller la variable lors de son utilisation puis de la dévérouiller suite à la modification.
Les CollectionsCollection |
---|
Description |
Contents(clé) |
contient tous les éléments qui ont été ajoutés à l'application par l'intermédiaire de commandes de script. |
StaticObjects(clé) |
contient tous les objets ajoutés à l'application par la balise <object>. |
Propriété |
---|
Description |
Contents.count |
retourne le nombre d'éléments dans la collection Contents. |
Contents.item(clé) |
retourne l'élément identifié par l'argument clé dans la collection Contents. |
StaticObjects.count |
retourne le nombre d'éléments dans la collection StaticObjects. |
StaticObjects.item(clé) |
retourne l'élément identifié par l'argument clé dans la collection StaticObjects. |
Méthode |
---|
Description |
Contents.Remove(clé) |
supprime un élément de la collection Contents de l'objet Application. |
Contents.RemoveAll() |
supprime tous les éléments de la collection Contents de l'objet Application. |
Lock |
empêche d'autres clients de modifier les propriétés de l'objet Application. |
Unlock |
autorise d'autres clients à modifier les propriétés de l'objet Application. |
Evénement |
---|
Description |
<script language="..." runat="server"> Sub Application_OnEnd ' Instructions... End Sub </script> |
Cet événement se produit lorsque l'application est abandonnée, après qu'intervienne l'événement Session_OnEnd. |
<script language="..." runat="server"> Sub Application_OnStart ' Instructions... End Sub </script> |
Cet événement se produit avant qu'une première nouvelle session soit créée, et partant avant qu'intervienne l'événement Session_OnStart. |
<-- Fichier : departement.asp --> <html> <body> <form action="reponse.asp" method="POST"> <% Application("00") = "Province" Application("75") = "Paris" Application("77") = "Seine-et-Marne" Application("78") = "Yvelines" Application("91") = "Essonne" Application("92") = "Hauts-de-Seine" Application("93") = "Seine-Saint-Denis" Application("94") = "Val-de-Marne" Application("95") = "Val-d'Oise" Dim i, departement, liste_choix liste_choix = "<select name='dep'>" For Each departement In Application.Contents liste_choix = liste_choix & "<option value='" & departement _ & "'>" & Application.Contents(departement) & "</option>" Next liste_choix = liste_choix + "</select>" Response.Write liste_choix %> <input type="submit" id="soumission" value="Soumettre"> </form> </body> </html> <-- Fichier réponse : reponse.asp --> <html> <body> <% Session("choix") = Request("dep") %> <p>Le département de votre choix est :</p> <h3><% = Application.Contents(Session("choix")) %></h3> <p>parmi cette liste :</p> <% Dim i, departement i = 0 For Each departement In Application.Contents Response.Write i & " : " & departement & " - " _ & Application(departement) & "<br>" i = i + 1 Next Application.Contents.RemoveAll %> <br> <a href="confirmation.asp">Confirmez ce choix</a> </body> </html> <-- Fichier réponse : confirmation.asp --> <html> <body> <% Response.Write "<h3>Vous avez bien confirmé votre choix.</h3>" _ & "<h4>Département : " & Session("choix") & " - " _ & Application.Contents(Session("choix")) & "</h4>" %> </body> </html> |