En général, il est particulièrement appréciable de déclarer des variables globales dans un projet, comme par exemple une chaîne de connexion à une base de données ou encore une variable d'application, de façon à ne les modifier qu'une seule fois en cas de besoin.
Le Framework .Net possède l'objet ConfigurationManager qui permet d'accéder aux fichiers de configuration web.config pour les applications web et app.config pour les applications Windows, tant en lecture qu'en écriture.
Les variables d'application
Ce sont les variables contenues dans la balise appSettings des fichiers de configuration, elles sont déclarées avec une clé key et une valeur value (hum, logique...) :
<appSettings>
<add key="name" value="julesss" />
</appSettings>
Lecture d'une variable d'application
Rien de plus évident que de récupérer une valeur, l'objet ConfigurationManager possède une collection AppSettings qui contient l'ensemble de ces variables, reste à définir l'index ou le nom de la clé à récupérer.
string sName = ConfigurationManager.AppSettings["name"];
De la même sorte, on peut récupérer les chaînes de connexion du fichier de configuration en utilisant la collection ConnectionStrings.
Écriture d'une variable d'application
Il est intéressant de pouvoir créer ou mettre à jour dynamiquement des variables dans le fichier de configuration, par exemple pour stocker une valeur définie lors du déploiement ou l'installation de l'application. C'est possible en 4 lignes :
Configuration config = WebConfigurationManager.OpenWebConfiguration("~") as
Configuration;
AppSettingsSection appSection = config.GetSection("appSettings") as
AppSettingsSection;
appSection.Settings["name"].Value = txtName.Text;
config.Save();
Bien que ces fichiers de configuration ne soient plus ni moins des fichiers xml, il est également aisé de les modifier, mais le ConfigurationManager permet d'accéder beaucoup plus facilement à n'importe quelle section.
Sources
