Dans le débogage du programme, j'ai parfois besoin de savoir combien de variables de session sont utilisées et quelle est leur valeur? Étant donné que l'objet de session fournit une collection appelée contenu, nous pouvons atteindre l'objectif via le pour ... chaque boucle: Dim strname, iLoop, iLoop
Pour chaque Strname de ses session.Contents
Réponse.write strname & "-" & session.contents (strname) & "<br>"
En général, le code ci-dessus peut bien fonctionner. Mais lorsque la variable de session est un objet ou un tableau, les résultats de l'impression sont incorrects. De cette façon, nous modifions le code comme suit: "Regardez d'abord combien de variables de session utilisent? Response.write" Il y a "& session.contents.count & _
"Variables de session <p>" "
Dim strname, iLoop
'Utiliser pour chacun de vérifier ses session.
«Si la variable de session est un tableau?
Si isArray (session (strname) alors
'Chaque élément d'un tableau d'impression circulaire
Pour iLoop = lbound (session (strName)) à Ubound (session (strName)))
Réponse.write strname & "(" & iLoop & ") -" & _
Session (strname) (iLoop) & "<br>"
Suivant
Autre
'Dans d'autres cas, imprimez simplement la valeur de la variable simplement
Réponse.write strname & "-" & session.contents (strname) & "<br>"
Terminer si
Les variables de session suivantes ne peuvent parfois pas fonctionner, pourquoi? Il existe de nombreuses possibilités:
Premièrement, si le client n'autorise pas les cookies à fonctionner, la session échouera. Parce que la session repose sur les cookies.
Deuxièmement, la session a la définition du temps de défaillance. Les paramètres par défaut durent 20 minutes. Vous pouvez le modifier comme ceci: WEB DIRETORY -> Propriétés-> Répertoire virtuel-> Paramètres de l'application-> Configuration-> Options de l'application-> Session Timeoutout
Ou dans ASP, écrivez un tel code: session.Timeout = 60.
Troisièmement, la session est liée à l'application Web spécifique. Si l'utilisateur navigue sur /products/default.asp à /jobs/default.asp, il peut également provoquer la session de ré-création. Comment effacer une variable de session qui n'a plus besoin, mais qui ne fait pas échouer la session? En asp3.0:
Session.contents.remove "Nom de la variable"
Vous pouvez supprimer une variable.
Dans ASP2.0:
set session ("nom de variable") = null
Peut effacer les variables.
En asp3.0,
Session.contents.removeal
Vous pouvez effacer toutes les variables de session et ses session.abandon. Que signifie le <% @ activeSessionState = True%> en haut de la page ASP? IIS utilise une technologie appelée suivi de session pour s'assurer que chaque variable de session est disponible sur chaque page. Lorsqu'un utilisateur visite une certaine page ASP, IIS prépare d'abord chaque variable de session pour cette page, qui aura bien sûr des effets de performance. (Le coût de l'utilisation de la variable de session est toujours très élevé!)
Si vous avez 100 pages et que seulement 5 pages sont utilisées pour la session, alors pour les performances globales, vous n'avez qu'à le régler sur ces 5 pages:
<% @ ActiveSessionState = true%>
Et d'autres pages sont définies sur:
<% @ ActiveSessionState = False%>