保存到配置管理器

本文关键字:管理器 配置管理 配置 保存 | 更新日期: 2023-09-27 18:33:10

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

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 文件,但你能解释一下代码吗?

保存到配置管理器

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

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

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

此行使用名称 Mydatabase.Conn 更新ConnectionStrings部分。

config.ConnectionStrings.ConnectionStrings["Mydatabase.Conn"].ConnectionString = constr;

这两行保存并刷新App.ConfigConnectionStrings部分

config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("connectionStrings");

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