【发布时间】:2017-04-18 06:50:54
【问题描述】:
我试图在运行时设置connectionstring。我需要的是在运行时设置datasource 并重新启动应用程序。我在 google 中找到了一些方法,但问题是 app.config 在 Application.Restart(); 之后返回默认值
我尝试将connectionstring 保存在settings.cs 和app.config 中,但这对我不起作用。
这是我的代码:
public void setConnectionString()
{
try
{
string str = string.Empty;
str = string.Format(@"Data Source={0}; Initial Catalog=CRM01_DB; UID= {1}; PWD={2}", Default.DataSource, Default.UID, Default.UPass);
this["CRM01_DBConnectionString"] = str;
Default.Save();
Thread.Sleep(100);
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
connectionStringsSection.ConnectionStrings["CRM01_DBConnectionString"].ConnectionString = str;
config.Save();
ConfigurationManager.RefreshSection("connectionStrings");
Thread.Sleep(100);
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
我没有收到任何错误,但是当应用程序启动时 connectionstrig 具有默认值
【问题讨论】:
标签: c# connection-string app-config application-settings