Maison  >  Article  >  développement back-end  >  Vous apprendre à résoudre le problème de la perte de session ASP

Vous apprendre à résoudre le problème de la perte de session ASP

Y2J
Y2Joriginal
2017-05-18 11:33:171743parcourir

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

【Recommandations associées】

1.

ASP gratuit tutoriel vidéo

2.

Présentation des trois méthodes d'objet Session dans ASP

3

Explication détaillée de la session dans les compétences d'utilisation ASP.

4.

Exemple simple de session ASP

5

Introduction 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!

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