【发布时间】:2010-09-08 08:31:34
【问题描述】:
好的,所以我尝试使用App.Config 文件中的appSettings 元素来确定要使用哪种存储。
这是我的 app.config 文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<appSettings>
<add key="storage" value="memory"/>
</appSettings>
</configuration>
所以我想将存储“设置”的值更改为“xmlfile”,所以我根据我在互联网上找到的一些帖子编写了这个方法来更改字段:
public static void UpdateAppSettings(string keyName, string keyValue)
{
XmlDocument doc = new XmlDocument();
doc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
foreach (XmlElement elem in doc.DocumentElement)
{
if (elem.Name == "appSettings")
{
foreach (XmlNode node in elem.ChildNodes)
{
if (node.Attributes[0].Value == keyName)
{
node.Attributes[1].Value = keyValue;
}
}
}
}
doc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
}
当我使用它时,App.Config 没有任何变化。关于我做错了什么有什么想法吗?
附言
仅供参考我只是用下面的简单方法来测试一下:
Console.WriteLine(ConfigurationManager.AppSettings["storage"].ToString());
Console.Read();
AppConfigFileSettings.UpdateAppSettings("storage", "xmlfile");
Console.WriteLine(ConfigurationManager.AppSettings["storage"].ToString());
Console.Read();
这只是两次打印出“内存”。
【问题讨论】:
标签: c# .net xml visual-studio appsettings