L'objet Session est utilisé pour stocker les informations utilisateur. Les variables stockées dans l'objet de session contiennent des informations sur un seul utilisateur et sont disponibles pour toutes les pages d'une application.
Objet Session
Lorsque vous travaillez sur une application, vous l'ouvrez, apportez des modifications, puis la fermez. Cela ressemble beaucoup à une conversation. L'ordinateur sait qui vous êtes. Il sait quand vous ouvrez et fermez des applications. Mais il y a un problème sur Internet : comme les adresses HTTP ne peuvent pas conserver leur statut, le serveur Web ne sait pas qui vous êtes ni ce que vous faites.
ASP résout ce problème en créant un cookie unique pour chaque utilisateur. Le cookie est transféré au client et contient des informations permettant d'identifier l'utilisateur. Cette interface est appelée un objet Session.
Les objets de session sont utilisés pour stocker des informations sur l'utilisateur ou pour modifier les paramètres de la session d'un utilisateur. Les variables stockées dans l'objet de session contiennent des informations sur un seul utilisateur et sont disponibles pour toutes les pages de l'application. Les informations stockées dans l'objet de session sont généralement le nom, l'identifiant et les paramètres. Le serveur créera une nouvelle session pour chaque nouvel utilisateur et révoquera l'objet Session à l'expiration de la session.
Quand commence la Session ?
La session commence à :
*Lorsqu'un nouvel utilisateur demande un fichier ASP et que le fichier Global.asa fait référence au sous-programme Session_OnStart ; > *Lorsqu'une valeur est stockée dans la variable Session ;
*Lorsqu'un utilisateur demande un fichier ASP et que Global.asa utilise la balise
Quand la session se terminera-t-elle ?
Si l'utilisateur ne demande pas ou n'actualise pas la page dans l'application dans le délai spécifié, la session se terminera. La valeur par défaut est de 20 minutes.
Si vous souhaitez définir un intervalle de délai d'attente plus long ou plus court, vous pouvez définir l'attribut Timeout .L'exemple suivant définit un intervalle de délai d'attente de 5 minutes :
Pour terminer la session immédiatement, utilisez la méthode Abandonner :
<% Session.Timeout=5 %>
<% Session.Abandon %>
: Le principal problème lors de l'utilisation des sessions est de savoir quand elles doivent se terminer. Nous ne saurons pas si la demande la plus récente de l'utilisateur était la dernière demande. Nous ne savons donc pas combien de temps nous devons laisser "vivre" la session. Attendre trop longtemps une session inactive peut épuiser les ressources du serveur. Cependant, si la session est supprimée prématurément, alors l'utilisateur devra recommencer encore et encore car le serveur a supprimé toutes les informations. Trouver le bon intervalle de temps d’attente peut être difficile.
Astuce: Si vous utilisez des variables de session, n'y stockez pas de grandes quantités de données. Stockage et récupération des variables de session
Le plus grand avantage de l'objet Session est que des variables peuvent y être stockées pour une lecture ultérieure de pages Web, et sa plage d'application est très large de.
L'exemple suivant affecte "Donald Duck" à la variable de session nommée username, et affecte "50" à la variable de session nommée age :Une fois les valeurs enregistrées, entrez la variable de session et elle peut être utilisée par n'importe quelle page de l'application ASP :
<% Session("username")="Donald Duck" Session("age")=50 %>
La Le résultat renvoyé par la ligne de programme ci-dessus est : "Bienvenue Donald Duck".
<%If Session("screenres")="low" Then%> This is the text version of the page <%Else%> This is the multimedia version of the page <%End If%>
移除 session 变量
contents 集合包含所有的 session 变量。
可通过 remove 方法来移除 session 变量。
在下面的例子中,假如 session 变量 "age" 的值小于 18,则移除 session 变量 "sale":
<% If Session.Contents("age")<18 then Session.Contents.Remove("sale")End If %>
如需移除 session 中的所有变量,请使用 RemoveAll 方法:
<% Session.Contents.RemoveAll() %>
遍历 contents 集合
contents 集合包含所有的 session 变量。可通过遍历 contents 集合,来查看其中存储的变量:
<% Session("username")="Donald Duck" Session("age")=50 dim i For Each i in Session.Contents Response.Write(i & "<br />") Next %>
结果:
username age
如果需要了解 contents 集合中的项目数量,可使用 count 属性:
<% dim i dim j j=Session.Contents.CountResponse.Write("Session variables: " & j) For i=1 to j Response.Write(Session.Contents(i) & "<br />") Next %>
结果:
Session variables: 2 Donald Duck 50
遍历 StaticObjects 集合
可通过循环 StaticObjects 集合,来查看存储在 session 对象中所有对象的值:
<% dim i For Each i in Session.StaticObjects Response.Write(i & "<br />") Next %>
【相关推荐】
1. ASP免费视频教程
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!