L'objet Session contient des informations relatives à la session d'un utilisateur sur le serveur.

Session.[méthode | propriété]

Dans le langage ASP, une session représente une période de temps dans laquelle un utilisateur navigue dans un ensemble de pages ASP.

Ainsi, l'objet Session se comporte comme un conteneur d'objets partagés devant être conservés tant que l'utilisateur concerné agît sur un ensemble de pages ou pour mener une opération à son terme, comme dans le cas d'une transaction en ligne.

Session.Contents("Identificateur") = expression

L'expression suivante est équivalente à la seconde, mais est plus courte.

Session("Identificateur") = expression

Cet exemple permet de conserver pendant toute la durée d'une transaction, une information relative à la configuration que possède le navigateur d'un utilisateur.

Session("Config_Utilisateur") = _
                                      Server.Createobject(MSWC.BrowserType)

Désormais, l'objet Session identifié par Config_Utilisateur peut utiliser les méthodes et propriétés du modèle du composant ASP BrowserType.

fichier = Session("Config_Utilisateur").Platform

Il est également possible pour des raisons de commodités d'affecter l'objet Session à une variable.

configuration = Session("Config_Utilisateur")

Le contrôle des sessions s'effectue principalement par l'intermédiaire d'une propriété contrôlant le temps d'expiration en minutes de la session en cours (TimeOut)

Session.TimeOut = 10

et d'une méthode chargée de la terminer immédiatement (Abandon).

Session.Abandon

La durée de vie par défaut d'une session est de vingt minutes. Son ouverture est assurée automatiquement par le serveur.

Les Collections
Collection
Description
Contents(clé)
contient tous les éléments qui ont été ajoutés à la session par l'intermédiaire de commandes de script.
StaticObjects(clé)
contient tous les objets ajoutés à la session par la balise <object>.
Les Propriétés
Propriété
Description
CodePage [= Page_de_Code]
indique la page de code qui sera utilisée pour l'affichage des caractères spéciaux dans un contenu dynamique.
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.
LCID [= Identificateur_de_Langue]
indique un identificateur de langue pour régler les paramètres locaux.
SessionID
retourne l'identificateur unique de session, généré par le serveur, pour un utilisateur.
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.
Timeout [= Nb_Minutes]
spécifie la période en minutes avant l'expiration d'une session.
Les Méthodes
Méthode
Description
Abandon
détruit un objet Session et libère ses ressources.
Contents.Remove(clé)
supprime un élément de la collection Contents de l'objet Session.
Contents.RemoveAll()
supprime tous les éléments de la collection Contents de l'objet Session.
Evénements
Evénement
Description
<script language="..." runat="server">
    Sub Session_OnEnd
        ' Instructions...
    End Sub
</script>
Cet événement se produit lorsque la session est abandonnée ou que le temps d'expiration soit atteint.
<script language="..." runat="server">
    Sub Session_OnStart
        ' Instructions...
    End Sub
</script>
Cet événement se produit lorsque le serveur crée une nouvelle session.
Exemple [voir]
<-- 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>