我正在尝试在运行时设置connectionstring
。我需要的是在运行时设置datasource
并重新启动应用程序。我在谷歌找到了一些方法,但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
具有默认值