|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASP - L'objet SessionIntroduction aux sessionsLe protocole HTTP est un protocole non connecté (on parle aussi de protocole sans états, en anglais stateless protocol), cela signifie que chaque requête sur une page web est traitée indépendamment des autres et qu'aucun mécanisme n'est prévu à la base pour pouvoir exploiter l'historique des différentes requêtes sur les pages successives. Ainsi le serveur web ne peut pas se « souvenir » de la requête précédente, ce qui empêche des utilisations telles que le commerce électronique, pour lequel une mémorisation des achats de l'utilisateur à travers les différentes pages est nécessaire. Il est donc nécessaire de trouver un moyen de maintenir une certaine cohésion entre l'utilisateur et la requête, notamment :
Ce mécanisme de gestion des états est appelé gestion de session (en anglais session tracking). Présentation de l'objet SessionLe rôle de l'objet Session est ainsi de permettre de stocker temporairement (pendant toute la durée de vie de la session) des informations transmissibles de page en page. Le mécanisme utilisé par l'objet Session pour permettre de transmettre les informations est basée sur l'utilisation de cookies, mais il est réalisé de manière transparente, ce qui signifie que l'utilisateur n'a pas à s'en soucier. L'utilisation de l'objet Session est très simple, elle consiste uniquement à enregistrer une variable dans la session, à la récupérer tout aussi simplement. L'objet Session fournit également les mécanismes permettant de détruire les données de la session. Les constituants de l'objet SessionL'objet Session possède plusieurs collections, propriétés et méthodes :
L'objet Session peut ainsi être vu comme un conteneur regroupant des données dynamiques rendues accessibles pour un visiteur, tout au long de sa navigation sur le site. L'objet Session regroupe ainsi en quelque sorte l'ensemble des variables globales de l'utilisateur. Les événements OnStart et OnEndL'objet Session propose deux événements, OnStart() et OnEnd(), permettant respectivement d'exécuter des actions au démarrage et à l'arrêt de la session, c'est-à-dire au début de la navigation (ou plus exactement à l'ouverture de la session) ou lorsque l'utilisateur quitte le site (ou plus exactement ferme sa session). La collection ContentsLa collection Contents contient des variables dynamiques créées sur le serveur pour un utilisateur. Il s'agit d'une fonctionnalité très utile permettant par exemple de mettre en place très facilement un panier de courses ou des préférences ! La création d'une valeur dans la collection Contents se fait de la manière suivante : Session.Contents("nom_variable") = variable Il existe toutefois une notation équivalente, moins lourde : Session("nom_variable") = variable A l'inverse, l'utilisation d'une valeur stockée dans la session se fait en appelant Session("nom_variable"), par exemple comme suit : Bienvenue <%Response.Write(Session("nom"))%> La collection Contents contient elle-même deux propriétés et deux méthodes. Les propriétés de la collection Contents sont les suivantes :
Les méthodes de la collection Contents sont les suivantes :
Le code suivant permet d'afficher l'ensemble des variables contenues dans la session, ainsi que leurs valeurs : <% dim i For Each i in Session.Contents Response.Write(" La collection StaticObjectsLa collection StaticObjects permet de manipuler les données contenues dans les balises HTML <OBJECT> et dont l'attribut scope vaut « application ». La collection StaticObjects contient elle-même deux propriétés et deux méthodes. Les propriétés de la collection StaticObjects sont les suivantes :
Les méthodes de la collection StaticObjects sont les suivantes :
La méthode Abandon()La méthode Abandon permet d'abandonner la session, c'est-à-dire de supprimer l'ensemble des données qui y sont stockées. La propriété TimeoutLa propriété Timeout permet de modifier la valeur (en minutes) de la durée de la session (par défaut 20 minutes) : Session.Timeout = nombre_minutes Plus d'informationTrucs & astuces pertinents trouvés dans la base de connaissances
Discussions pertinentes trouvées dans le forum
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||