Peut-être que de nombreux développeurs asp seront confrontés à cette situation : la session est perdue sans raison pendant la session. En d’autres termes, si le SessionID est perdu, les mêmes variables au niveau de la session seront également perdues.
De nombreuses sessions sont perdues en raison de programmes incorrects ou de structures de répertoires virtuels incorrectes.
SessionID change pour les raisons suivantes.
Raison 1 :
Le navigateur de Netscape pensera que "/App/user.asp" et "/app/user.asp" sont deux programmes différents. Il démarrera automatiquement une nouvelle session (nouvelle session). Par conséquent, la majuscule des lettres doit être unifiée sur votre site Internet.
Deuxième raison :
L'autre raison est la valeur de Session.Timeout.
L'attribut Timeout est utilisé pour définir le délai d'expiration de la session en unités d'une minute. Si un utilisateur n'actualise pas ou ne demande pas la page dans un délai d'attente, la session se termine. Lorsque vous demanderez à nouveau la page, une nouvelle session démarrera.
Assurez-vous que la valeur de Timeout est en minutes.
Format : Session.Timeout [= nMinutes]
Troisième raison :
Si l'utilisateur désactive le cookie de son navigateur, bien sûr, la session Juste je ne peux pas le garder. Parce que la rétention de session dépend des cookies.
Pour maintenir l'état de la session, le navigateur doit prendre en charge les cookies et être ouvert. Bien sûr, vous pouvez utiliser d'autres méthodes
Raison 4 :
Une erreur courante consiste à créer une structure de répertoires incorrecte. Comme la structure de répertoires suivante :
root met global.asa
virtual_root n'a pas global.asa
another_virtual_root n'a pas global.asa
Appels deux virtuels La page racines exécutera le même global.asa (celui de la racine)
Une autre structure de répertoires :
root Il n'y a pas de global.asa
put virtuel it global.asa
another_virtual_root Un autre global.asa
Chaque global.asa dans un répertoire différent sera exécuté séparément. Bien entendu, le code exécuté sera différent. Mais si le code à l’intérieur est le même, ne dites rien. :)
Ainsi, lorsque vous demandez des pages dans différents répertoires, différents global.asa seront exécutés. Différentes variables sont appelées, différents identifiants de session sont créés... toutes les informations utiles précédentes sont détruites.
Ce qui suit est une explication détaillée :
Lorsque vous parcourez pour la première fois la page de l'application virtuelle enfant (application virtuelle enfant), puis parcourez l'application virtuelle parent de l'enfant. page du programme virtuel (racine virtuelle parent). Ces variables seront perdues et détruites. Regardez le Formulaire suivant :
Demander le sous-programme 1 Perdu sous-programme 2 Perte
Demander d'abord à root
Uniquement dans le sous-programme 1 Demander Root avant ne sera pas se produira
La demande de racine uniquement avant le sous-programme 2 ne se produira pas
La dernière demande de racine se produira
Présentation des trois méthodes d'objet Session dans ASP
3Explication détaillée de la session dans les compétences d'utilisation ASP.
4.5Introduction détaillée à la session en 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!