Speichern und laden der app.config(applicationSettings) zur Laufzeit

Habe ich die gespeicherte Konfiguration von meiner Anmeldung in der app.Konfiguration von Visual Studio ich habe einige application-Taste auf der Registerkarte Einstellungen im Dialogfeld "Projekteigenschaften", dann habe ich diese Taste auf der Anwendungsebene(NICHT auf Benutzer-Ebene).

Visual Studio generiert automatisch die folgende xml-Datei (app.Konfiguration) :

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="AleTest.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <AleTest.Properties.Settings>
            <setting name="DatabasePath" serializeAs="String">
                <value>Test.s3db</value>
            </setting>
            <setting name="DatabaseUser" serializeAs="String">
                <value />
            </setting>
            <setting name="DatabasePass" serializeAs="String">
                <value />
            </setting>
        </AleTest.Properties.Settings>
    </applicationSettings>
</configuration>

Nun will ich speichern und laden der Einstellungen zur Laufzeit, hier ist mein code, die es ermöglichen, um den Wert zu speichern DatabasePath in der Konfigurationsdatei:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

ConfigurationSectionGroup applicationSectionGroup = config.GetSectionGroup("applicationSettings");
ConfigurationSection applicationConfigSection = applicationSectionGroup.Sections["AleTest.Properties.Settings"];
ClientSettingsSection clientSection = (ClientSettingsSection)applicationConfigSection;

//Database Configuration Setting
SettingElement applicationSetting = clientSection.Settings.Get("DatabasePath");
applicationSetting.Value.ValueXml.InnerXml = this.textBoxPath.Text.Trim();

applicationConfigSection.SectionInformation.ForceSave = true;
config.Save();

Das problem ist, dass mit diesem code die neuen Einstellungen nicht geladen von der Anwendung bis ich die Anwendung neu starten; gibt es eine Möglichkeit, um neu zu laden Sie die config-Einstellungen zur Laufzeit?

Möchte ich auch ersetzen Sie den festen Wert den Namen der applicationSettings Abschnitt (AleTest.Eigenschaften.Einstellungen) mit einem Variablen Wert, gibt es eine variable, die im Rahmen der übernahme dieser Wert (AleTest.Eigenschaften.Einstellungen) ?

  • Ich hatte ein anderes problem: das Schreiben in der "applicationSettings" Abschnitt der web.config mithilfe der Configuration-Objekt. Thx für zeigen mir, was zu tun ist. 🙂
InformationsquelleAutor aleroot | 2011-06-13
Schreibe einen Kommentar