【发布时间】:2015-06-30 20:42:57
【问题描述】:
我们有一个内部工具,我们需要能够以编程方式添加连接字符串,然后重新加载此连接字符串,而无需重新加载应用程序。
我有点困惑和浪费了 2 天的时间并且即将放弃我已经完成了以下操作
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
int initialCount = ConfigurationManager.ConnectionStrings.Count;
string connStringName = "TEST";
string serverName="Servedr";
string databaseName = "MyDb";
string userId="MyUseId";
string password="MyPassword";
var connectionStringBuilder = new SqlConnectionStringBuilder
{
DataSource = serverName,
InitialCatalog = databaseName,
UserID = userId,
Password = password
};
var csSetting = new ConnectionStringSettings(connStringName, connectionStringBuilder.ConnectionString, "System.Data.SqlClient");
var csSection = config.ConnectionStrings;
csSection.ConnectionStrings.Add(csSetting);
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("ConnectionStrings");
int finalCount = ConfigurationManager.ConnectionStrings.Count;
这应该可以吗?刷新部分等... 有什么建议么? 无需重新启动的解决方法?
谢谢
【问题讨论】: