IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[C#] Session_End


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 26
    Par défaut [C#] Session_End
    Bonjour,

    Dans mon appli ASP.NET, je crée un fichier spécifique pour chaque visiteur lors de leur passage sur le site. Je voudrais supprimer ce fichier à la fin de session de ces visiteurs.

    J’ai donc mis ce code dans le fichier Global.asax.cs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    protected void Session_End(Object sender, EventArgs e)
    	{
    		string numCmd = Session["numCommande"].ToString();
    		string filePath = Server.MapPath(REP_XML + numCmd + ".xml");
    		System.IO.File.Delete(filePath);
     
    	}
    Cependant voilà, il ne se passe rien quand je quitte mon site. Je suis sûr du chemin du fichier.

    Bon j’ai quand même essayé en mettant un nom de chemin à la main

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    protected void Session_End(Object sender, EventArgs e)
    	{
     
    		System.IO.File.Delete("X:\\xml\\monFichier.xml");
     
    	}
    Et là pareil, il ne se passe rien quand ma session est terminée.
    Cependant j’ai remarqué une chose pour le deuxieme code : lorsque je recompile mon code une 2ème fois, là mon fichier est supprimé lors de la compilation. : : :

    Bref je comprends rien…

    Qqun peut il m'éclairer ?

    Merci

  2. #2
    Membre éprouvé
    Inscrit en
    Février 2003
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 113
    Par défaut
    Pour la deuxieme chose, c'est normal quand tu recompiles tu perds la session, pour le reste... Essaie avec un bouton et sur le clic fais un Session.Abandon(); pour voir...

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 230
    Par défaut
    Moi, aussi j'avais le même problème.
    Mais en utilisant un bouton pour abandonner la session, revient à mettre le code qui efface le fichier dans l'événement onclick du bouton.
    Donc je ne vois pas trops l'intérêt de la méthode Session_End dans Global.asax s'il n'arrive pas à détecter la fin de session si on ferme la fenêtre du navigateur.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 26
    Par défaut
    Avec Session.Abandon(); effectivement ça marche mais la personne ne va pas forcément cliquer sur un bouton pour fermer son navigateur.

    Session_End n'est elle pas appelée lorsque la personne ferme elle même son navigateur ??

  5. #5
    Membre éprouvé
    Inscrit en
    Février 2003
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 113
    Par défaut
    Oui c'est sur que c'est un probleme...
    Essaie de le faire au Login alors.
    Si le fichier existe tu le supprimes... non?

  6. #6
    Membre éprouvé Avatar de chman
    Inscrit en
    Novembre 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 94
    Par défaut
    salut,

    essayes de voir si on peut récupèrer la fermeture du navigateur en javascript et d'appeler une autre page qui cloturer ta session

    sinon le serveur ne peut savoir que le client ferme son navigateur

  7. #7
    Membre éprouvé
    Inscrit en
    Février 2003
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 113
    Par défaut
    Je croisq qu'il y a un vieux post de Rami la dessus et ca avait pas l'air joli joli à faire..? je cherche...

    La peut etre
    http://www.developpez.net/forums/vie...ure+navigateur

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 26
    Par défaut
    Ca marche nikel avec ce que tu m'as filé Johan

    Merci à tous

  9. #9
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 27
    Par défaut
    Qqun pourait me donner la réponse? Le post de Rami a disparu :-(
    merci

  10. #10
    Invité de passage
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 1
    Par défaut Accès à la Session depuis Session_End
    Dans Session_End on ne peut ni accéder à la Session (elle vient d'être killée), ni accéder au contexte car il n'y en a pas.

    En effet, Session_End est appelé par une tâche de fond de IIS, il n'y a donc aucune page ASPX rattachée à l'appel ni de contexte HTTP.

    J'ai fait un post pour contourner ce problème, il t'aidera également à accéder au Context courant pour récupérer Request ou Response.

    http://sites.google.com/a/lucca.fr/p...on_end-abandon

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/06/2008, 11h35
  2. Session_End provoque Application_End
    Par snopims dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/04/2008, 23h38
  3. [SESSION_END]execution à la sortie de site
    Par ccambier dans le forum ASP.NET
    Réponses: 27
    Dernier message: 13/12/2007, 11h38
  4. Redirection au Session_End
    Par calagan99 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 30/10/2007, 10h05
  5. [VB.NET] Utilisation des sessions dans Session_End ?
    Par San Soussy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/02/2005, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo