保存到Configuration Manager

时间:2016-02-03 08:08:47

标签: c# database

这段代码有什么作用?感谢。

public void set_connection(string constr)
{
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    config.ConnectionStrings.ConnectionStrings["Mydatabase.Conn"].ConnectionString = constr;
    config.Save(ConfigurationSaveMode.Modified, true);
    ConfigurationManager.RefreshSection("connectionStrings");
}

ı知道它是关于app.config文件,但你能解释一下代码吗?

2 个答案:

答案 0 :(得分:1)

此代码在运行时打开您的exe的配置文件并更新连接字符串并保存配置文件,但保存文件本身不足以让您的exe获取新的连接字符串,因为exe通常会缓存配置所以调用刷新确保配置的缓存也更新

答案 1 :(得分:1)

此代码实际上将constr部分下当前正在运行的可执行文件的给定App.Config保存到ConnectionStrings文件。

此行打开当前正在运行的可执行文件的App.Config文件。

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

此行更新名为ConnectionStrings的{​​{1}}部分。

Mydatabase.Conn

这两行保存并刷新config.ConnectionStrings.ConnectionStrings["Mydatabase.Conn"].ConnectionString = constr;

ConnectionStrings部分
App.Config