gpt4 book ai didi

c# - ASP.Net - 如何在运行时以编程方式编辑外部配置文件

转载 作者:太空狗 更新时间:2023-10-29 20:18:20 24 4
gpt4 key购买 nike

外部配置文件是指除 web.config 之外的 .config 文件。我已经看过关于如何在运行时编辑 web.config 的所有示例,但我想编辑由 appSettings 的 configSource 引用的配置文件。我只想修改外部文件,我会处理应用回收。

理想情况下,我想使用内置类来处理编辑,但如果唯一的选择是手动打开/解析文件等,那么就这样吧。

所有这一切背后的总体思路是在应用程序启动时查看设置页面,用户设置他们的详细信息然后保存更改,然后真正的应用程序启动。快速简便地安装应用程序/配置页面,因此我想尽可能利用 .config。

谢谢!

后续 - 使用 XmlDocument 更改 appSetting 键值的快速片段:

string path = Server.MapPath("~/my.config");

XmlDocument doc = new XmlDocument();
doc.Load(path);

XmlNode node = doc.SelectSingleNode("/appSettings/add[@key='myKey']");
node.Attributes[1].Value = "myVal";

XmlTextWriter writer = new XmlTextWriter(path, null);
writer.Formatting = Formatting.Indented;
doc.WriteTo(writer);
writer.Flush();
writer.Close();

最佳答案

编辑标准配置文件的常用代码如下:

string cfgPath = Path.Combine(targetDir, "myApp.config");
var configMap = new ExeConfigurationFileMap { ExeConfigFilename = cfgPath };

var cf = ConfigurationManager.OpenMappedExeConfiguration(configMap,
ConfigurationUserLevel.None);
cf.AppSettings.Settings["somekey"].Value = "newvalue";

cf.Save();

顺便说一下,代码版本是 .NET 3.5。

您可能还需要设置正确的权限。请注意,如果您没有标准配置文件布局(根节点为 <configuration> ),此代码将抛出异常。

关于c# - ASP.Net - 如何在运行时以编程方式编辑外部配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5155867/

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