Maison >développement back-end >Tutoriel C#.Net >Introduction détaillée à la session en ASP

Introduction détaillée à la session en ASP

Y2J
Y2Joriginal
2017-05-18 11:42:212128parcourir

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 273238ce9338fbb04bee6997e5552b95 🎜>

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
%>
Remarque

 : 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
%>
Bienvenue 9191e841d6c4ef7e6a651b7bd17ba29e

La Le résultat renvoyé par la ligne de programme ci-dessus est : "Bienvenue Donald Duck".

Vous pouvez également enregistrer les paramètres utilisateur dans l'objet session, puis décider quelle page renvoyer à l'utilisateur en accédant à ces paramètres.

L'exemple suivant précise que si l'utilisateur utilise une faible résolution d'écran, une version texte uniquement de la page est renvoyée :

<%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免费视频教程

2. 教你解决ASP session丢失的方法

3. 介绍ASP中Session对象的三种方法

4. 详解ASP中Session的使用技巧

5. ASP session简单示例

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn