Problème d'écriture dans le fichier de configuration (groupe/section)
Bonjour,
Je souhaite écrire par programmation dans le fichier app.config aux emplacements que je défini, c'est à dire dans un groupe et une section particuliers :
En l'occurrence sous "GestionCategorie/SerieSection"
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="GestionCategories">
<section name="SerieSection"
type="System.Configuration.SingleTagSectionHandler" />
</sectionGroup>
</configSections>
<appSettings>
<add key="maclé" value="ma valeur" />
<add key="Uneclé" value="zzz" />
<add key="maclé3" value="ma valeur" />
</appSettings>
<connectionStrings>
<add name="WindowsApplication2.Properties.Settings.artcollectionConnectionString"
connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\artcollection.mdf;Integrated Security=True;Connect Timeout=30"
providerName="System.Data.SqlClient" />
</connectionStrings>
<GestionCategories>
<SerieSection valeur1="Non renseigné" valeur2="value two" valeur3="third value" />
</GestionCategories>
</configuration> |
J'arrive à lire les données avec ce code :
Code:
1 2 3 4 5 6 7 8 9 10
| Hashtable Serie = (Hashtable)ConfigurationManager.GetSection(
"GestionCategories/SerieSection");
string value1 = Serie["valeur1"].ToString();
string value2 = Serie["valeur2"].ToString();
string value3 = Serie["valeur3"].ToString();
textBox1.Text = value2;
foreach (DictionaryEntry d in Serie)
{
Console.WriteLine("{0} ; {1}", d.Key, d.Value);
} |
Mais comment écrire mes données au bon endroit ?
Le code ci-dessous n'écrit les données que dans <appsettings>
(comme on le voit au-dessus. Les données sous SerieSection, je les ai copiées/collées directement avec Notepad++)
Code:
1 2 3 4 5 6 7
| Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.GetSection("SerieSection");
config.AppSettings.Settings.Add("maclé3", "ma valeur");
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("SerieSection"); |
Comment mettre "maclé3", "ma valeur" dans la section "SerieSection" ?
Je suis à cour d'idées.
J'ai déjà consulté les tuto
https://nico-pyright.developpez.com/...sectioncsharp/
et
https://cdiese.fr/fichier-de-configu...net-en-10-min/
sans trouver ma réponse (ou comprendre la solution).
Merci