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 :

variable globale et app_code


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut variable globale et app_code
    Bonjour, est ce que le faite de créer une classe dans le app_code et d'y mettre par exemple private static int toto; equivaut en fait à Déclarer une variable d'Application["toto"] ??

    Ce que je voudrais faire ces stocker des varibales globales mais pour un utilisateur en utilisant das classes faites maison dans le app_code.

    Une idée à ce sujet.

    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Salut,

    Je suis pas sûr de bien comprendre car tu parles à la fois de variables static d'application et de variables par user.

    Si tu veux des variables globales pour l'application, donc partagées par tous tes utilisateurs alors oui, des variables "static" dans une classe feront très bien l'affaire (et oui c'est alors équivalent à ton Application["toto"]).
    Si tu veux des variables uniques par utilisateur alors il faut passer par la session (côté serveur) ou des cookies (côté client + persistance d'une session à l'autre).

  3. #3
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    ok je réexplique mon souci.

    Lorsque je clique sur le bouton connexion, j'utilise une classe qui se nomme PersonneConnecte, dans laquelle j'ai le nom,le prenom, etc et les getteurs et setteurs associé.
    Comme cela quand j'ai besoin du userConnecte dans mon appli, je fais PersonneConnecte.MaFonction(), je précise qu'actuellement elles sont static.

    Ce que je souhaite c'est de garder cette objet PersonneConnecte pour chaque utilisateur qui se connecte.Autrement dit avoir plusieur instance de cette objet.

    Comprends-tu mieux ce que je veux faire. Quelque part je voulais éviter d'utiliser trop de variable de Session et passant par des variables de classe.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Si les membres de ta classes PersonneConnecte sont de type static alors ils sont partagés par tte l'application et ce n'est pas ce que tu veux.

    Eviter les variables de session autant que possible c'est bien, mais typiquement les infos de l'utilisateur connecté sont légères et se stockent en session en général (ou dans un cookie).

    Après oui tu peux très bien gérer comme un grand une liste d'objets PersonneConnecte (avec des membres non static bien sûr) comme variable d'application, mais tu vas te compliquer la vie pour rien, aucune différence avec des variables de session (sauf dans certains cas mais je pense pas que ça te concerne).

  5. #5
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    Les membres étaient effectivement static alors j'ai enlevé pour en faire une classe normal, maintenant la question est, j'ai lu que ce n'est pas bien, comment créer une session["User"] contenant l'ensemble des membres de la classe PersonneConnecte

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Citation Envoyé par tortuegenie Voir le message
    Les membres étaient effectivement static alors j'ai enlevé pour en faire une classe normal, maintenant la question est, j'ai lu que ce n'est pas bien, comment créer une session["User"] contenant l'ensemble des membres de la classe PersonneConnecte
    Tu mets en session un objet de ta classe directement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    PersonneConnecte User = new PersonneConnecte (...);
    Session["User"] = User;
    Mais je suis pas sur de comprendre ta question.

Discussions similaires

  1. Variable globale / Propriété des threads
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 03/10/2003, 10h49
  2. Cacher Variable Url avec Variable Globale
    Par danuz dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/09/2003, 17h20
  3. Variable "globale" (dans plusieurs templa
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/06/2003, 19h22
  4. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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