gpt4 book ai didi

c# - 从安装程序访问配置文件中的 'applicationSettings'(不是 'appSettings')部分

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:10 24 4
gpt4 key购买 nike

我正在为我们构建的 Web 应用程序创 build 置。不,我有一个配置文件,看起来像这样,其中包含一个“appSettings”部分和一个“applicationSettings”部分:

<configuration>
<appSettings>
<add key="Password" value="dummy"/>
<add key="Username" value="dummy"/>
<add key="DB" value="dummy"/>
<add key="DBServer" value="dummy"/>
<add key="LogStoredProcedure" value="dummy"/>
<add key="ErrorStoredProcedure" value="dummy"/>
<add key="ErrorFileName" value="dummy"/>
<add key="EncryptionKey" value="dummy"/>
</appSettings>
<applicationSettings>
<inoBIBooks.My.MySettings>
<setting name="BIDB_Username" serializeAs="String">
<value>Username</value>
</setting>
<setting name="BIDB_Server" serializeAs="String">
<value>Servername</value>
</setting>
<setting name="BIDB_Database" serializeAs="String">
<value>Database</value>
</setting>
<setting name="BIDB_Password" serializeAs="String">
<value>Password</value>
</setting>
</inoBIBooks.My.MySettings>
</applicationSettings>
</configuration>

现在,在我的设置中,我必须从文件系统中打开配置文件 配置 config = WebConfigurationManager.OpenWebConfiguration("/"+ targetvdir);其中变量“targetvdir”包含配置文件的路径。

我通过这个获得了配置文件,并且我可以通过以下方式编辑“appSettings”部分

config.AppSettings.Settings["Password"].Value = "something";

但我无法通过“applicationSettings”部分做到这一点。在 Web 应用程序本身中,我通过

访问该部分
Properties.Settings.Default.<Setting>

但这对我的设置项目不起作用。

是否有机会像编辑“appSettings”部分一样简单地编辑“applicationSettings”部分?还是我必须自己编辑 xml?非常感谢任何提示。

亲切的问候,凯·哈特曼

最佳答案

很抱歉我自己回答了我的问题,因为我在发布后立即找到了解决方案。这道题基本给出了答案:Save and reload app.config(applicationSettings) at runtime

我必须使用这段代码来写入“applicationSettings”部分:

// this gets the applicationSettings section (and the inner section 'inoBIBooks.My.MySettings')
Configuration config = WebConfigurationManager.OpenWebConfiguration("/" + targetvdir);
ConfigurationSectionGroup applicationSectionGroup = config.GetSectionGroup("applicationSettings");
ConfigurationSection applicationConfigSection = applicationSectionGroup.Sections["inoBIBooks.My.MySettings"];
ClientSettingsSection clientSection = (ClientSettingsSection)applicationConfigSection;

// set a value to that specific property
SettingElement applicationSetting = clientSection.Settings.Get("BIDB_Username");
applicationSetting.Value.ValueXml.InnerText = "username";

// without this, saving won't work
applicationConfigSection.SectionInformation.ForceSave = true;
// save
config.Save();

关于c# - 从安装程序访问配置文件中的 'applicationSettings'(不是 'appSettings')部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17401278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com