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 :

[2.0 C#] Quelle est la durée de vie d'un objet static ?


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 224
    Points : 99
    Points
    99
    Par défaut [2.0 C#] Quelle est la durée de vie d'un objet static ?
    Bonjour,

    je suis en train d'essayer d'utiliser une classe singleton qui ne me fait qu'une seule instance d'objet :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    // Ma classe
    public class MaClasse {
     
    // attribut
    private static MaClasse testSingleton;
     
       // mon constructeur
       private MaClasse() 
       {
          // du code
       }
     
       // une méthode statique
       public static uneMethodeQuelquonque() 
       {
          // je crée une et une seule instance   
          if (testSingleton== null) testSingleton= new MaClasse();
     
         // j'utilise ensuite mon instance testSingleton
        }
     
    }

    Tout marche nickel..

    mais maintenant je suis en train de me demander quelle est la durée de vie de mon objet singleton avec ASP.NET ???

    apparemment il n'est pas dépendant de ma session, car j'ai fait un Response.Write pour savoir si elle est instancié ou pas et même après création d'une nouvelle session, le singleton est toujours vivant..

    .. en fermant le navigateur pareil. Le singleton est toujours vivant.

    Alors qu'elle est sa durée de vie ?

    Jusqu'à ce que le serveur IIS plante ? jusqu'à la prochaine recompilation du fichier ? Y a t'il un timeout sur les objets statiques ?

    D'avance merci beaucoup

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Jusqu'à ce que ton projet web (géré par IIS) plante au niveau application ou bien que IIS décide de le relancer.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 224
    Points : 99
    Points
    99
    Par défaut
    merci Goldar ..

    je trouve ça pratique d'avoir une classe statique instancié pour tous les utilisateurs. dans certains cas ça peut être bien utile, exemple : des données communes à tous les utilisateurs.

    mais alors ça veut dire que cet objet statique va rester en mémoire sur le serveur tout le temps, tant que l'application (enfin IIS) n'est pas relancée..

    l'avantage au moins c'est que cette instance de classe statique est unique à tous les utilisateurs.

    mais dans ce cas, il me semble quil y a l'objet cache de asp.net..

    qu'en pensez vous ?

  4. #4
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Tu peux utiliser aussi l'objet Application qui est comme l'objet Session à la différence que ce que tu y mets est commun à tous les utilisateurs.

  5. #5
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Tu peux utiliser un objet cache. Il est accessible à tous les utilisateurs et tu peux spécifier une date d'expiration.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 224
    Points : 99
    Points
    99
    Par défaut
    merci beaucoup pour vos réponses..
    bon weke end

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/06/2009, 14h46
  2. Réponses: 12
    Dernier message: 10/08/2006, 09h44
  3. [Cookies] durée de vie de l'objet
    Par ozzmax dans le forum Langage
    Réponses: 13
    Dernier message: 13/01/2006, 21h38

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