[ASP.NET] Gerer les fins de session

Gerer les fins de session [ASP.NET] - ASP - Programmation

Marsh Posté le 10-06-2003 à 10:15:12    

Bonjour,
 
Afin de gérer les expirations de session, j'ai ajouté les deux lignes suivantes dans mon fichier global.asax :
 
au lancement de la session :
    Session.Timeout = 20 'minutes
 
a la fin de la session :
    Response.Redirect("FinSession.htm" )
 
Cependant, apres 20 minutes d'inactivité, lorsque ma session expire, rien ne se passe. Il devrait pourtant me rediriger vers FinSession.htm, non ?
 
Comment faire ? ou sinon, comment faire autrement ? Suis obligé de tester a chaque chargement de mes pages si la session n'est pas expirée ?
 
Merci !

Reply

Marsh Posté le 10-06-2003 à 10:15:12   

Reply

Marsh Posté le 10-06-2003 à 11:51:49    

Bon... premiere erreur, l'objet Response n'est pas accessible depuis session_end()
 
Je l'ai donc remplacé par :  
 
Server.transfer("FinSession.htm" ), Server etant accessible depuis session_end(), mais ca ne fontionne pas non plus...
 
J'ai aussi esayé de faire une operation simple dans la procedure session_end() en plus de cette redirection, et en fait rien ne se passe. C'est comme s'il ne passait jamais dans la fontion session_end() lorsque la session se termine...
 
Personne n'aurait une idée pour m'aider ?
Merci!


Message édité par Egut le 10-06-2003 à 11:52:30
Reply

Marsh Posté le 10-06-2003 à 19:52:39    

Tu ne peux pas faire ça sur le session_end
 
Le session_end te permettra de sauvergarder les informations de session de l'utlisateur afin qu'il les retrouve quand il reviendra par exemple.
 
Mais c'est uniquement à ça que ça sert.
 
Pour faire une tel redirection, il faut faire le traîtement dans session_start
 
En effet, tu ne peux détecter une fin de session que lorsque l'utilisateur va en recréer une.
 
Le plus simple, laisse tomber le global.asa
 
Créer un rep "session_start"
Dedans, met la page que tu veux pour initialiser les sessions, etc.
Cette page initialise une session "connected" à true par exemple.
 
Dans toutes les pages du site, teste cette session. Si elle est vide, alors tu rediriges le gars sur cette d'initialisation des session.
 
Tu peux toujours faire aussi un script côté client avec un settimeout(20*60*1000, 'window.location.href=\'disconnected.asp\'');

Reply

Marsh Posté le 10-06-2003 à 23:51:13    

et puis sinon y a la propriété IsNewSession de l'objet Session qui indique si la session courante vient d'etre créée lors de l'appel de la page courante ou pas
 
:whistle:

Reply

Marsh Posté le 11-06-2003 à 16:58:10    

Tiens, c pas mal ça :)
 
Moi je connais que l'ASP tout court, et ça existe pas :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed