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"
J'arrive à lire les données avec ce code :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Mais comment écrire mes données au bon endroit ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
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++)
Comment mettre "maclé3", "ma valeur" dans la section "SerieSection" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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");
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
Partager