App.Config en C#

Fil Zjazel Romaeus Villegas 12 octobre 2023
  1. Ajout de chaînes de connexion à App.config en C#
  2. Ajout de paramètres d’application à App.config en C#
  3. Exemple complet de App.Config en C#
App.Config en C#

Ce tutoriel explique le fichier App.Config dans un projet C# et montre comment il peut être utilisé.

App.Config, ou le fichier de configuration au niveau de l’application, est un fichier XML contenant les sections de configuration prédéfinies disponibles et permet des sections de configuration personnalisées que vous pouvez modifier. Il est souvent généré automatiquement lors de la création d’un nouveau projet.

Un App.Config très basique peut ressembler à ceci :

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
</configuration>

Comme vous pouvez le voir, il spécifie uniquement la version de .NET qui sera prise en charge lors de l’exécution. À partir de là, vous pouvez personnaliser la façon dont votre application localise et charge les fichiers d’assemblage. Un exemple typique des modifications apportées à App.Config serait de stocker connectionStrings ou appSettings pour être accessible tout au long du projet.

Après avoir configuré le fichier App.Config comme vous le souhaitez, vous pouvez appeler ses valeurs stockées via le ConfigurationManager. Pour utiliser le ConfigurationManager, vous devez ajouter l’instruction using pour System.Configuration à votre code.

Ajout de chaînes de connexion à App.config en C#

Pour ajouter une chaîne de connexion, vous devez vous assurer que la section connectionStrings est présente. Ensuite, vous pouvez y ajouter la chaîne de connexion à utiliser et le nom du fournisseur, dont la valeur doit être l’espace de noms correspondant à sa chaîne de connexion.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
        <add name="myConnectionString"
			connectionString="Data Source =MSI\SQLEXPRESS; Initial Catalog =SampleDB; Integrated Security=True"
			providerName="System.Data.SqlClient"
        />
    </connectionStrings>
</configuration>

Pour accéder à cette chaîne de connexion dans votre code, vous pouvez utiliser le ConfigurationManager et accéder à l’ensemble de la collection ConnectionStrings. À partir de là, vous pouvez extraire la chaîne de connexion souhaitée par son nom.

string connectionString =
    ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;

Ajout de paramètres d’application à App.config en C#

Pour ajouter une configuration de paramètres d’application, vous devez vous assurer que la section appSettings est présente. Ensuite, vous pouvez y ajouter un nouveau paramètre d’application en fournissant la clé par laquelle il sera appelé et sa valeur.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
    	<add key="TableName" value="SampleTable" />
  	</appSettings>
</configuration>

Pour accéder à cette configuration, vous pouvez utiliser le ConfigurationManager et accéder à l’ensemble de la collection AppSettings en utilisant la syntaxe ci-dessous.

var tableName = ConfigurationSettings.AppSettings["TableName"];

Exemple complet de App.Config en C#

Maintenant que nous avons discuté de certains des concepts des fichiers App.Config, nous allons les combiner dans un exemple.

XML :

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
	<connectionStrings>
		<add name="myConnectionString"
			connectionString="Data Source =MSI\SQLEXPRESS; Initial Catalog =SampleDB; Integrated Security=True"
			providerName="System.Data.SqlClient"
        />
	</connectionStrings>
	<appSettings>
		<add key="TableName" value="SampleTable" />
	</appSettings>
</configuration>

Dans le fichier App.Config, nous avons stocké une seule chaîne de connexion et une configuration nommée TableName. Veuillez prendre note de leurs différentes sections et de leur syntaxe différente.

C# :

using System;
using System.Configuration;

namespace AppConfig_Example {
  class Program {
    static void Main(string[] args) {
      // Pull the connection string from the App.Config File
      string connectionString =
          ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;

      // Pull the app setting from the App.Config File
      var tableName = ConfigurationSettings.AppSettings["TableName"];

      // Print the values to the console
      Console.WriteLine("Configuration String: " + connectionString + "\n");
      Console.WriteLine("Table Name: " + tableName);

      Console.ReadLine();
    }
  }
}

Nous avons utilisé le ConfigurationManager pour extraire les valeurs stockées dans le fichier App.Config dans le code du programme. Pour démontrer qu’ils ont été stockés et extraits correctement, leurs valeurs sont ensuite imprimées sur la console.

Production :

Configuration String : Data Source = MSI\SQLEXPRESS;
Initial Catalog = SampleDB;
Integrated Security = True

    Table Name : SampleTable