Lire en anglais

Partager via


Utiliser Visual C# pour stocker et récupérer des informations personnalisées à partir d’un fichier de configuration d’application

Cet article explique comment stocker des informations personnalisées à partir d’un fichier de configuration que vous pouvez récupérer ultérieurement pendant l’exécution par son application associée. Il est utile de définir des données associées à une application.

Notes

Le code de cet article cible .NET Framework 2.0 et versions ultérieures. Pour savoir quelles versions spécifiques la ConfigurationManager classe s’applique, consultez la section S’applique à .

Version du produit d’origine : Visual C#
Numéro de base de connaissances d’origine : 815786

Spécifications

La liste suivante décrit le matériel et les logiciels recommandés dont vous avez besoin :

  • Microsoft Windows
  • Visual C#

Cet article suppose que vous êtes familiarisé avec les rubriques suivantes :

  • XML (Extensible Markup Language)
  • Fichiers de configuration .NET

Créer une application console qui lit un fichier de configuration

Vous pouvez stocker les paramètres d’application dans le fichier de configuration associé à l’application. Les fichiers de configuration sont enregistrés au format XML.

System.Collections.Specialized Les System.Configuration espaces de noms du .NET Framework incluent les classes nécessaires pour récupérer des informations à partir d’un fichier de configuration d’application .NET pendant l’exécution.

Pour créer une application console qui lit le contenu d’un fichier de configuration associé pendant l’exécution, procédez comme suit :

  1. Démarrez Visual Studio .NET ou Visual Studio.

  2. Dans le menu Fichier , pointez sur Nouveau, puis sélectionnez Projet.

  3. sélectionnez Visual C# sous Types de projets, puis sélectionnez Application console sous Modèles. Nommez le projet ConConfig. Par défaut, Visual C# crée une classe nommée Program.

    Notes

    Dans Visual Studio .NET, sélectionnez Projets Visual C# sous Types de projets, puis sélectionnez Application console sous Modèles. Nommez le projet ConConfig. Par défaut, Visual C# crée une classe nommée Class1.

  4. Vérifiez que la fenêtre Explorateur de solutions est visible. S’il n’est pas visible, appuyez sur la combinaison de touches Ctrl+Alt+L.

  5. Dans Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet, sélectionnez Ajouter, puis sélectionnez Nouvel élément.

  6. Dans la liste Ajouter un nouvel élément , sélectionnez Fichier XML.

  7. Dans la zone de texte Nom , tapez App.config, puis sélectionnez Ajouter.

  8. Vous pouvez utiliser un fichier de configuration d’application pour collecter les paramètres d’application personnalisés que vous enregistrez au format clé/valeur. Vous pouvez inclure des <add> éléments dans la <appSettings> section d’un fichier de configuration associé. Chaque paire clé/valeur a un <add> élément. Un <add> élément a le format suivant :

    <add key="Key0" value="0" />
    

    Ajoutez une section avec <add> des <appSettings> éléments au fichier de configuration entre les étiquettes et </configuration> les <configuration> étiquettes.

    Par exemple, le fichier de configuration suivant comprend une <appSettings> section qui spécifie trois paires clé/valeur :

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <appSettings>
            <add key="Key0" value="0" />
            <add key="Key1" value="1" />
            <add key="Key2" value="2" />
        </appSettings>
    </configuration>
    
  9. Dans Explorateur de solutions, double-cliquez sur Program.cs pour afficher la fenêtre de code. Ajoutez les instructions suivantes à votre module de code.

    Notes

    Ces instructions doivent apparaître avant toute autre instruction du fichier.

    using System.Configuration;
    using System.Collections.Specialized;
    
  10. Ajoutez une référence à System.Configuration.dll en procédant comme suit :

    1. Dans le menu Projet, sélectionnez Ajouter une référence.
    2. Dans la boîte de dialogue Ajouter une référence , sélectionnez l’onglet .NET .
    3. Recherchez et sélectionnez le nom du composant de System.Configuration.
    4. sélectionnez OK.
  11. Pour contenir la valeur d’une clé de fichier de configuration dans la <appSettings> section du fichier de configuration, déclarez une variable de chaîne dans la Main section comme suit :

    string sAttr;
    
  12. Pour récupérer une valeur pour une clé spécifiée à partir de la <appSettings> section du fichier de configuration, utilisez la Get méthode de la AppSettings propriété de la classe ConfigurationManager . La classe ConfigurationManager se trouve dans l’espace de noms System.Configuration. Lorsque la AppSettings.Get méthode reçoit un paramètre d’entrée de chaîne qui contient une clé, l’application récupère la valeur associée à la clé.

    Le code suivant récupère la valeur de l’attribut Key0 à partir du fichier de configuration associé. Le code place ensuite cette valeur dans la sAttr variable de chaîne. Si une clé n’existe pas pour cette valeur, rien n’est stocké dans sAttr.

    sAttr = ConfigurationManager.AppSettings.Get("Key0");
    
  13. Pour afficher la valeur que l’application récupère dans la fenêtre console, utilisez Console.WriteLine la commande suivante :

    Console.WriteLine("The value of Key0 is "+sAttr);
    
  14. Vous pouvez utiliser une référence à la AppSettings propriété pour récupérer toutes les paires clé/valeur dans la <appSettings> section. Lorsque vous utilisez la AppSettings propriété, l’application retourne toutes les paires clé/valeur associées. Ces paires sont stockées dans un NameValueCollection type. Contient NameValueCollection des entrées clé/valeur pour chaque clé récupérée par l’application. La classe NameValueCollection se trouve dans l’espace de noms System.Collections.Specialized.

    NameValueCollection sAll ;
    sAll = ConfigurationManager.AppSettings;
    
  15. Propriété AllKeys de références d’un tableau de NameValueCollection chaînes qui a une entrée pour chaque clé récupérée par l’application. Utilisez une construction foreach pour itérer dans le AllKeys tableau pour accéder à chaque clé récupérée par l’application. Chaque entrée de clé est AllKeys un type de données de chaîne.

    À l’intérieur de la foreach construction, utilisez cette option Console.WriteLine pour afficher la clé et sa valeur associée dans la fenêtre console. Clé actuelle dans laquelle l’application traite .s Utilisez-le comme index dans le sAllNameValueCollection but d’obtenir sa valeur associée.

     foreach (string s in sAll.AllKeys)
         Console.WriteLine("Key: "+ s + " Value: " + sAll.Get(s));
    
     Console.ReadLine();
    

Listing du code complet

using System;
using System.Configuration;
using System.Collections.Specialized;

namespace ConConfig
{
    class Program
    {
        static void Main(string[] args)
        {
            string sAttr;

            // Read a particular key from the config file 
            sAttr = ConfigurationManager.AppSettings.Get("Key0");
            Console.WriteLine("The value of Key0: " + sAttr);

            // Read all the keys from the config file
            NameValueCollection sAll;
            sAll = ConfigurationManager.AppSettings;

            foreach (string s in sAll.AllKeys)
                Console.WriteLine("Key: " + s + " Value: " + sAll.Get(s));

            Console.ReadLine();
        }
    }
}

Liste complète des fichiers de configuration (ConConfig.exe.config)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="Key0" value="0" />
        <add key="Key1" value="1" />
        <add key="Key2" value="2" />
    </appSettings>
</configuration>

Vérifiez qu’elle fonctionne

Appuyez sur F5 pour exécuter le code. La fenêtre console doit afficher les paires clé/valeur de la <appSettings> section du fichier de configuration associé comme suit :

The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2

Résolution des problèmes

  • Le fichier de configuration est enregistré au format XML. Veillez à suivre toutes les règles de syntaxe XML. N’oubliez pas que XML respecte la casse. Si le code XML n’est pas bien formé ou si un élément est mal orthographié, vous recevez une System.Configuration.Configuration exception.

    Par exemple, si vous ajoutez l’attribut clé d’un <add> élément avec un K majuscule au lieu d’un k minuscule, ou si la <appSettings> section apparaît comme <AppSettings> (avec un majuscule A au lieu d’un minuscule a), vous recevez un message d’erreur.

  • Le fichier de configuration doit être enregistré dans le même dossier que son application associée.

  • Vous devez utiliser la syntaxe suivante pour le nom du fichier de configuration :
    <ApplicationName>.<ApplicationType.config>

    Où <ApplicationName> est le nom de l’application. <ApplicationType> est le type d’application, par .exeexemple . Il .config s’agit du suffixe requis.

References