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 :

Cycle de vie d'une page web : appel d'une fonction au déchargement


Sujet :

ASP.NET

  1. #1
    Membre habitué

    Inscrit en
    Avril 2004
    Messages
    646
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 646
    Points : 145
    Points
    145
    Par défaut Cycle de vie d'une page web : appel d'une fonction au déchargement
    Bonjour,

    Dans mon projet web ASP.Net, je recherche depuis quelques temps le moyen d'exécuter une fonction dès que l'on ferme la fenêtre active.

    Le problème, si je la positionne sur l'événement PreRender ou Unload, c'est que celle-ci s'exécute - d'après ce que j'ai compris - à chaque contrôle de la page.

    En fait, j'ai l'idée suivante : j'ai un objet de type shared que j'initialise au moyen du postback de la page dans l'événement "load" (ouverture de session).

    Je souhaiterais pouvoir le libérer au déchargement de la page, mais de manière à ce qu'il ne soit appelé qu'une seule fois (fermeture de session) !

    Je pense que mon problème est lié au cycle de vie d'une page asp mais je vois pas trop bien comment faire cela.

    Est-ce que vous pouvez m'aider ?

    En vous remerciant par avance.

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Tu peux pas détecter la fermeture de la page
    Si tu veux faire un truc dans le SessionEnd, regarde du côté du global.asax

  3. #3
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour soso78,

    Comme l'a indiqué lutecefalco, tu peux utiliser le Session_End de ton Global.asax pour gérer tes ressources propres à une session utilisateur. Cependant, l'évènement Session End n'intervient pas toujours.

    Si tu souhaites uniquement gérer une ressource pour une page et non une session, tu peux utiliser la méthode UnLoad dans le code-behind.

    Un autre solution, mais pas géniale, utiliser Javascript pour détecter la fermeture de la page ou du Browser côté client et envoyer un requête au serveur pour qu'il libère les ressources. Tu as des exemple ici, et il doit y avoir plusieurs blogs qui traitent du sujet.

    En espérant t'avoir aidé.

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Nno, le Unload (en js) se déclenche aussi qd tu changes de page

  5. #5
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Nno, le Unload (en js) se déclenche aussi qd tu changes de page
    On est d'accord, d'où ma remarque
    Citation Envoyé par Nicolas Esprit Voir le message
    Si tu souhaites uniquement gérer une ressource pour une page et non une session....

  6. #6
    Membre habitué Avatar de issou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 181
    Points : 136
    Points
    136
    Par défaut
    Le Pre_Render est un évenement qui concerne tout les contrôles de ta page .Normal qu'il passe dedans à chaque fois.

    Sinon , les explications de Nicolas Esprit devrait suffir.

    Dis nous quoi

  7. #7
    Membre habitué Avatar de issou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 181
    Points : 136
    Points
    136
    Par défaut
    J'oubliais... Si tu veux utiliser le Pre_Render pour un contrôle spécifique. Tu crée dans ton code-behind une méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TonColntrol_PreRender(Object sender, EventArgs e){
     
     // Instructions
    }
    Et dans ta page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     asp:label runat="server" ID="label1" OnPreRender="TonColntrol_PreRender"
    Voilà

Discussions similaires

  1. Sélectionner une date dans une Page d'inscription d'une page web
    Par Zizoua dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/07/2014, 16h14
  2. Réponses: 4
    Dernier message: 12/05/2009, 10h12
  3. Appel d'une page web
    Par smake dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/09/2007, 16h40
  4. Réponses: 1
    Dernier message: 26/02/2007, 09h44
  5. [Appel URL] appel d'une page web dans 1 Java
    Par c4cf6 dans le forum Applets
    Réponses: 3
    Dernier message: 17/03/2006, 14h13

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