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 :

Bonne méthode pour néttoyer une session qui se termine ?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut Bonne méthode pour néttoyer une session qui se termine ?
    Bonjour,

    Dans le but de permettre une gestion de la mémoire optimal, je me demandais...
    Si en réaction à l'évenement de fin de session (Session_OnEnd déclaré dans Global.asax), appeller la méthode Dispose pour toutes les données de la session qui seraient des instances implémentant IDisposable, était une bonne idée, une idée futile ou une mauvaise idée ?

    Merci pour vos éclaircissements.

  2. #2
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    A partir du moment ou ta session se termine, tout ce qui est lié à ta session va etre enlevé de la mémoire.

    Il ne faut pas oublier que dés que tu as un objet sur lequel tu n'as plus de référence,alors ce dernier est recupere par le garbage collector.

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Citation Envoyé par Arthis Voir le message
    A partir du moment ou ta session se termine, tout ce qui est lié à ta session va etre enlevé de la mémoire.

    Il ne faut pas oublier que dés que tu as un objet sur lequel tu n'as plus de référence,alors ce dernier est recupere par le garbage collector.
    Ce n'est pas tout à fait exact : on ne sait jamais exactement quand le Garbage Collector va effectuer un Collect pour libérer la mémoire sur les références qui ne sont plus utilisées. En tout cas, ce n'est pas dès qu'il n'y a plus de référence sur un objet. Si les objets contiennent des ressources non managées critiques ou gourmandes en mémoire, il vaut mieux toujours appeler Dispose().

  4. #4
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Oui c'est vrai! Dans le meme temps j appelle la fonction dispose de mes objets dans le session _end...

    Mais je le faisais plus a titre de code propre que vraiment souci d'efficacité en ce qui me concerne...

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Mais si je suis mon idée, il y a quand même l'avantage de libérer l'espace sur le moment même, non ?

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

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Pas trop d'accord (d'après mes différentes lectures sur le sujet )
    En effet, on sait pas qd le GC va passer, mais il passera quand ca sera nécessaire (qd il faudra libérer de la mémoire en gros)

    De plus, faire un Dispose est très gourmand.

    Conclusion: vaut mieux laisser faire le framework.

  7. #7
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Même lorsque tu utilises un gros objet toufu qui fait pas grand chose a part te polluer ta mémoire et que c'est toi qui l'a crée tout seul?

Discussions similaires

  1. Bonne méthode pour la création d'une application graphique cliente
    Par kayoum dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 22/01/2009, 12h12
  2. La bonne méthode pour créer une DLL ?
    Par tintin72 dans le forum Windows
    Réponses: 2
    Dernier message: 18/05/2008, 11h26
  3. Réponses: 5
    Dernier message: 23/04/2008, 15h41
  4. Réponses: 7
    Dernier message: 06/08/2007, 19h28

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