Config-File bei bestehender Applikation erweitern......

21/01/2008 - 17:37 von M.Erlinger | Report spam
Hallo

kann mir bitte jemand bei folgendem Problem weiterhelfen:
Wenn ich bei einer bestehenden Applikation einen neuen Parameter im
config.File der Applikation einbauen möchte, wie kann ich vorgehen, dass
ich nicht bei allen Clients dies manuell tun muss ??
Die Applikation soll beim Starten so reagieren -> Wenn der Parameter
noch nicht im Config.File ist, soll dieser dann mit einem Standard-Wert
geschrieben werden..

Wenn ich z.B. auf einen Parameter zugreife, den es im Config.File noch
nicht gibt
_bTestLauf = Properties.Settings.Default.TestLauf;
wird die Applikation abstürzen ?
könnte ich dies mit einer Try/Catch-Anweisung abfangen - und einen
Standard-Wert in das Config.File raus-schreiben?

Danke schon mal für Eure Unterstützung.
Michael
 

Lesen sie die antworten

#1 Attila Krick
21/01/2008 - 18:11 | Warnen spam
M.Erlinger schrieb:
Hallo

kann mir bitte jemand bei folgendem Problem weiterhelfen:
Wenn ich bei einer bestehenden Applikation einen neuen Parameter im
config.File der Applikation einbauen möchte, wie kann ich vorgehen, dass
ich nicht bei allen Clients dies manuell tun muss ??
Die Applikation soll beim Starten so reagieren -> Wenn der Parameter
noch nicht im Config.File ist, soll dieser dann mit einem Standard-Wert
geschrieben werden..

Wenn ich z.B. auf einen Parameter zugreife, den es im Config.File noch
nicht gibt
_bTestLauf = Properties.Settings.Default.TestLauf;
wird die Applikation abstürzen ?
könnte ich dies mit einer Try/Catch-Anweisung abfangen - und einen
Standard-Wert in das Config.File raus-schreiben?

Danke schon mal für Eure Unterstützung.
Michael



Hallo Michael,

du kannst wie mit:

System.Configuration.Configuration config =
System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None);
System.Configuration.KeyValueConfigurationElement elem = new
System.Configuration.KeyValueConfigurationElement("TEST", "test");
config.AppSettings.Settings.Add(elem);
config.Save(System.Configuration.ConfigurationSaveMode.Modified);

zur Laufzeit weitere Elemente erstellen.

und entweder wie Du schon gesagt hast mit catch dies tun oder Du
reagierst auf das "Properties.Settings.Default.SettingsLoaded"-Ereignis.

Gruß

Attila

Ähnliche fragen