Lecture d'une section dans un fichier de configuration
Bonjour, j'aimerai avoir un fichier de configuration commun entre plusieurs application, j'ai crée un fichier comme ca :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="MaSection" type="System.Configuration.NameValueSectionHandler" />
</configSections>
<appSettings>
<add key="MaCle1" value="MaValeur1"/>
</appSettings>
<MaSection>
<add key="MaCle2" value="MaValeur2"/>
</MaSection>
</configuration> |
Pour lire la section "appSettings" pas de problème j'ai codé ca :
Code:
1 2 3 4 5 6 7 8
| ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = @"NomDuFichier.config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);
foreach (string key in config.AppSettings.Settings.AllKeys)
{
Message(key + " - " + config.AppSettings.Settings[key].Value);
} |
Mais pour plus de lisibilité je voudrai mettre mes paramètres dans différentes sections. Je n'arrive pas à lire la section "MaSection" avec le type définie. J'ai essayer ceci mais j'ai une erreur de cast impossible :
Code:
NameValueCollection section = (NameValueCollection)config.GetSection("MaSection");
Erreur : Impossible de convertir le type 'System.Configuration.ConfigurationSection' en 'System.Collections.Specialized.NameValueCollection'
Des idées ?
Merci.