Response.redirect et Session_End

Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 - 8 nov. 2006 à 15:48
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 - 10 nov. 2006 à 09:07
Bonjour,

  Voila je desespere depuis 6h a chercher sur le net comment résoudre mon problème mais aparement il n'y a que moi qui veut faire ca....

Voila j'aimerais une redirection AUTOMATIQUE à lexpiration d'une session et il n'y a pas devenement Session_Timeout dans le global.asax.
Je n'est que levenement Session_End() mais le problème est que dans cette evenement la session est deja morte!Que ce soit en deconnexion volontaire ou apres le TimeOut cest le meme evenement qui est apeler... Du coup le Response.Redirect ou le htttpcontext.current.Response.Redirect() ne marche pas du tout......

Je vais me pendre....
 
Jai deja gérer la redirection lorsque le client redemande une page au serveur alors que sa session est fini mais maintenant jaimerai gérer la redirection du client DES QUE sa session est fini...

Jespere que jai bien tous expliquer le problème
HELP!Help!help....

5 réponses

cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
8 nov. 2006 à 17:37
Si j'ai bien compris ce que tu veux faire, eh bien je pense que c techniquement impossible à réaliser.
Qu'est ce qui te dit que le client est en train de naviguer sur ton site quand la fin de session va se produire? Qu'est ce qui te dit qu'il n'a pas déjà fermé son ordi et qu'il est en train de dormir?
Le protocole Http est de naturé déconnecté et tu ne peux rediriger quelqu'un que lorsqu'il fait une requête vers ton serveur.
Il faut revoir exactement ce que tu veux faire et le pkoi de ça aussi.

Bonne chance...
[:D] @++
0
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
8 nov. 2006 à 18:20
Cest pt pour ca en faite que je trouve pas....
Ouais javais bien compris le truc, ca cest clair mais dans mon cas, je suis sur que le client est encore devant avec la fenetre ouverte, cetait pas trop le prob.

Mais je trouve le principe encore jouable ....si il y avait un evenement Session_TimeOut avant la destruction de celle ci ca aurait pu le faire ou carrement une methode associer à la session qui ajouterai la redirection du coté client en javascript a chaque demande...
Parce que si jai bien compris i va faloir que je me le tape a chaque fois.........à moins que je le mette dans Application_BeginRequest

Bon ben je vais voir alors...mais il aurait pu prevoir kememe!!!

Di moi si le principe te semble jouable?! Juste au cas ou jsuis passer à coté de quelques chose

Merci davoir repondu !
0
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
8 nov. 2006 à 19:44
re,

je te suggère d'ajouter un javascript avec un timeout équivalent à la durée de ta session.
une fois le timeout atteint, tu lances la redirectection.

c'est la seule manière de faire à ma connaissance...

mais comment fais-tu pour
j'ai deja géré la redirection lorsque le client redemande une page au serveur alors que sa session est finie?
comment fais-tu pour savoir que la requête provient d'un user qui avait une session ?
tu utilises un cookies ? tu log l'ip dans une base ?

yopyop
0
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
8 nov. 2006 à 21:31
Salut,
J'ai une petite idée. Quand la session est terminée sauvegarde-là quelques part (dans une DB ou peu importe en utilisant la serialisation). Et quand le client lancera une nouvelle requête, check si sa session n'est pas terminé.
Si c le cas, tu le rediriges dans une page pour lui donner l'option de restaurer sa session. C'est sale mais ca peut fonctionner.

Je me demande pkoi tu ne mets pas la session à l'infini (se termine jamais).

[:D] @++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
10 nov. 2006 à 09:07
Soit je pige pas ce ke vous voulez faire soit cest gérer automatiquement par ASP.NET...
J'utilise la méthode Forms pour midentifier du coup une session gere le client de facon autonome et a chaque nouvelle page (ou nouvelle requete cest pareil ) je teste au debut dans le Page_Load si la session est encore bonne grace à lobjet Session
Ex: de teste if (Session==null) -> redirection

De toutes facon a la fin de la session toutes les variables associées sont désalouer dc...un teste sur nimporte laquel sera bonne.
Voila!

Pour la methode javascript, cest ce ke javai penser ...de toutes facon..ya pas beaucoup dautres solutions, jai pu ka trouver la methode pour limplémenter dans le Application_BeginRequest car jai pas envie de le rajouter dans tte mes pages

Daileur si vous avez la soluce

Merci!!!
0
Rejoignez-nous