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

C# Discussion :

[C#] Fichier de configuration App.config et section perso. Comment faire?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 284
    Par défaut [C#] Fichier de configuration App.config et section perso. Comment faire?
    Bonjour à tous,
    Je voudrais aujourd'hui extraire pas mal de paramètres de mon application et les mettre dans un fichier de configuration.

    Prenons un exemple
    Mon application créée 3 répertoires. Imaginons que je veuille pouvoir changer les noms ou en rajouter. J'ai donc fait ceci :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="create_dir" type="System.Configuration.NameValueSectionHandler" />
      </configSections>
     
      <create_dir>
        <add key="dir1" value="Test" />
        <add key="dir2" value="Test2" />
        <add key="dir3" value="Test3" />
      </create_dir>
    </configuration>

    et je peux le récupérer comme ça:
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    NameValueCollection ListDir = (NameValueCollection)ConfigurationManager.GetSection("create_dir");
    foreach (string Key in ListDir)
         Console.WriteLine(ListDir[Key]);

    Hors je n'ai pas besoin des clés sur le principe, n'y a t'il pas la possibilité de faire quelque chose comme:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="create_dir" type="?????????" />
      </configSections>
    
      <create_dir>
        <dir value="Test" />
        <dir value="Test2" />
        <dir value="Test3" />
      </create_dir>
    </configuration>

    Quand pensez vous?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 201
    Par défaut
    C'est tout à fait possible, mais tu dois passer du coup par ton propre type de configuration, en héritant de ConfigurationSection.

    Tu pourra ainsi décrire tes propres propriétés (comme value), et les récupérer de la même manière que la NameValueCollection, mais avec ta classe approprié

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Par défaut
    Pourquoi ne pas passer par une collection de String dans tes paramètres ?

    Comme par exemple le System.Collections.Specialized.StringCollection ?

  4. #4
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Par défaut
    Ton application crée toujours ces 3 répertoires ? Jamais l'un ou l'autre seul ? J'imagine que c'est la raison pour laquelle tu n'as pas besoin des clefs.

    Si ce sont des répertoires obligatoires, pourquoi ne pas faire un setup qui les crée ? Dans ce cas ce n'est plus paramétrable, donc ça ne te conviens plus...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 284
    Par défaut
    @DarkHerumor
    Je m'en doute, mais c'est un peu le flou

    @Aeronia
    En fait je découvre à peine les fichiers de configuration. Le type System.Collections.Specialized.StringCollection me parait pas mal, je vais m'y pencher dessus.

    @kheironn
    Dans mon cas, cette solution n'est pas envisageable. J'ai besoin de créer les répertoires à la volée, par exemple quand on insère un nouvel enregistrement en base. Je ne les connait donc pas à l'avance.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 284
    Par défaut
    Je n'ai pas VS2010 sous la main pour pouvoir tester mais est ce que ça marche comme ça?
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="create_dir" type="System.Collections.Specialized.StringCollection" />
      </configSections>
     
      <create_dir>
        <add value="Dir 1" />
        <add value="Dir 2" />
        <add value="Dir 3" />
      </create_dir>
     
    </configuration>

Discussions similaires

  1. configuration app config
    Par tomglouden dans le forum C#
    Réponses: 1
    Dernier message: 22/01/2011, 23h47
  2. Fichier de configuration app.config
    Par Dan972 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/12/2009, 23h59
  3. [C# 3.5] Configuration app.config
    Par stailer dans le forum Windows Forms
    Réponses: 6
    Dernier message: 11/06/2008, 10h59
  4. Réponses: 2
    Dernier message: 08/08/2007, 19h58
  5. Fichier de configuration App.config
    Par cereal59 dans le forum C#
    Réponses: 2
    Dernier message: 28/03/2007, 10h35

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