在程序运行过程中,配置文件只加载一次,所以动态更改后必须重新读取一次才会生效,以下是代码部分。
1、动态修改配置文件
//通过Xml方式(需using System.xml;)
XmlDocument doc = new XmlDocument();
doc.Load(Application.ExecutablePath + ".config");
//XmlNode node = doc.SelectSingleNode(@"//add[@key='" + key + "']"); // 定位到add节点
XmlNode node = doc.SelectSingleNode(@"//add[@name='dbConnStr']"); // 定位到add节点
XmlElement element = (XmlElement)node;
element.SetAttribute("connectionString", "Data Source=.;Initial Catalog="";Integrated Security=True"); // 赋值
doc.Save(Application.ExecutablePath + ".config");
ConfigurationManager.RefreshSection("connectionStrings"); // 刷新节点
2、每次操作数据库的时候重新读取配置文件节点
string connStr =ConfigurationManager.ConnectionStrings["dbConnStr"].ConnectionString;