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]Acces ressources.resx depuis une librairie


Sujet :

ASP.NET

  1. #1
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut [2.0]Acces ressources.resx depuis une librairie
    Bonjour,

    j'aimerais depuis une librairie accéder à des valeurs mises dans le fichier Globalresources.resx.

    Je m'explique :

    mon appli web est une appli N-Tiers :
    dans le dossier App_GlobalResources j'ai un fichier GlobalResources.resx qui contient l'ensemble des messages d'erreur (par exemple : ErrorDB="Erreur dans la BDD")

    Depuis ma couche DATA, j'aimerai trouver comment accéder à cette valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    throw new MyException(e, e.Message,System.Resources.GlobalResources.ErrorDB);
    mais erreur a la compile car ne trouve pas GlobalResources.

    J'ai tenté avec GetLocalResourceObject mais cela n'a pas fonctionné.

    Selon ce post, ce ne serait pas possible...

    Pourtant depuis cette même classe, j'arrive a acceder au web.config pour récupérer la connexionString par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ConfigurationManager.AppSettings["ConnectionString"]
    existe-t-il une solution pour accéder a ces valeurs ou dois-je les mettre dans le web.config.

    Merci de vos précisions

  2. #2
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Peut-être avec un ResourceManager, mais c'est à creuser...

    Par contre, pourquoi ne pas incorporer tes ressources nécessaires à ta librairie ?
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


  3. #3
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Merci de ta réponse Pongten,

    j'ai creusé cette solution mais ca ne résoud pas mon probleme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ResourceManager rm = new ResourceManager("MonProjet.WebInterface.App_GlobalResources.GlobalResources", Assembly.GetExecutingAssembly());
    string message = rm.GetString("ErrorDB",System.Globalization.CultureInfo.InvariantCulture);
    mais sur la deuxieme instruction, j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Could not find any resources appropriate for the specified culture or the neutral culture.  Make sure "ProfileLocation.WebInterface.App_GlobalResources.GlobalResources.resources" was correctly embedded or linked into assembly "ProfileLocation.DataAccessLayer" at compile time, or that all the satellite assemblies required are loadable and fully signed.
    Et pourquoi je veux mon fichier de ressource a la racine de mon site internet :
    Ce fichier doit etre modifiable par le client pur qu'il change les messages d'erreurs a sa guise, et pas faire une compilation a chaque fois.
    Or cette gestion d'erreur se trouve dans plusieurs librairies, je me vois pas lui demander de modifier les infos le même nombre de fois que de librairies...

  4. #4
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Bon il semblerait que ce ne soit pas possible, j'ai donc procédé en passant un mot clé dans mon message et dans mon fichier aspx qui doit afficher le message d'erreur, je récupère la ressource correspondant a ce mot clé.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/03/2008, 13h18
  2. Accès à un fichier depuis une procédure stockée
    Par greg75 dans le forum Sybase
    Réponses: 2
    Dernier message: 09/03/2007, 10h02
  3. [EJB2] Accès Interface locale depuis une classe métier.
    Par rigor dans le forum Java EE
    Réponses: 2
    Dernier message: 10/10/2006, 14h44
  4. accés a oracle depuis une autre machine
    Par tounsi dans le forum Connexions aux bases de données
    Réponses: 10
    Dernier message: 16/01/2006, 17h06
  5. Réponses: 5
    Dernier message: 11/03/2003, 11h49

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