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 d'application dans une classe


Sujet :

ASP.NET

  1. #1
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut variable d'application dans une classe
    Bonjour,

    J'utilise une variable d'application dans le global.asax
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            Application["test"] = "test";
    si dans une page, j'écris ceci, j'ai bien ma valeur qui s'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Response.Write(Application["test"].ToString());
    Maintenant, j'ai besoin de cette variable dans une de mes classes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private string _test = Application["test"].ToString();
    Et là il me dit : "Le nom 'Application' n'existe pas dans le contexte actuel"

    Est ce que la portée de la variable d'application ne va pas jusqu'à la classe ? Faut il que je rajoute un espace de nom ? Merci d'avance pour vos réponses

    Ps : je cherche depuis pas mal d'heure sur le net mais je ne trouve aucune piste

  2. #2
    Membre expérimenté
    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
    Points : 1 521
    Points
    1 521
    Par défaut
    Il faut utiliser System.Web.HttpContext.Current.Application.

    Page, classe de base pour n'importe quel fichier ASPX a une propriété publique Application qui retourne ce System.Web.HttpContext.Current.Application tout comme HttpApplication, classe de base pour les fichiers Global.asax. C'est pourquoi tu peux y accèder dans la Global.asax et dans toutes les pages ASPX, mais pas dans tes autres classes.

    Note : il est parfois plus intéressant de passer ce genre de paramètre dans le constructeur de la classe ou via une propriété pour que la classe soit utilisable aussi bien en ASP.NET mais également en Winforms etc. Bien entendu, ça dépends de ce que ta classe doit faire...

  3. #3
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Il faut utiliser System.Web.HttpContext.Application
    J'ai testé ceci et ca fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.Web.HttpContext.Current.Application["test"].ToString()
    Il fallait ajouter le current pour que ca fonctionne.

    Cette classe ne sera utilisé que pour de l'asp donc pas besoin en paramètre du constructeur.

    Et comme d'habitude, je vais terminer par un MERCI ! On trouve toujours les réponses ici. Merci à tous

  4. #4
    Membre expérimenté
    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
    Points : 1 521
    Points
    1 521
    Par défaut
    Oooupps, j'ai oublié le Current ... désolé

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

Discussions similaires

  1. Utiliser des variables applications dans une classe
    Par soso78 dans le forum VB.NET
    Réponses: 1
    Dernier message: 13/10/2008, 22h21
  2. Utiliser une variable Application dans une classe
    Par soso78 dans le forum VB.NET
    Réponses: 1
    Dernier message: 29/09/2008, 17h29
  3. Lire une variable d'application depuis une classe
    Par bossun dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/10/2007, 11h55
  4. Réponses: 1
    Dernier message: 03/04/2007, 12h02
  5. Réponses: 3
    Dernier message: 09/01/2007, 09h44

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