更改连接字符串后刷新整个应用程序的数据

时间:2017-09-01 03:26:47

标签: c# asp.net sql-server

我在母版页中有一个LinkButton的应用程序,用于更改应用程序的database。我正在根据此按钮文本更改connection string文件中的web.configLinkButton点击的代码是:

if (LinkButton.Text == "Switch To Country1 Site")
{
    LinkButton.Text = "Switch To Country2 Site";
    Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
    ConnectionStringsSection sec = (ConnectionStringsSection)config.GetSection("connectionStrings");
    sec.ConnectionStrings["Default"].ConnectionString = "Data Source=Source; Initial Catalog=database1; Integrated Security=true";
    config.Save();
}
else
{
    LinkButton.Text = "Switch To Country1 Site";
    Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
    ConnectionStringsSection sec = (ConnectionStringsSection)config.GetSection("connectionStrings");
    sec.ConnectionStrings["Default"].ConnectionString = "Data Source=Source; Initial Catalog=database2; Integrated Security=true";
    config.Save();
}

我将此连接字符串设置为来自DataHelper文件中Application_Start的{​​{1}}。我也尝试从这里重新加载应用程序(不知道是否好主意)刷新内容但它不起作用。像:

Global.asax

我的连接字符串正在成功更改,但问题是应用程序数据没有刷新。例如,在我的应用程序中,我有一些protected void Application_Start(object sender, EventArgs e) { DatabaseHelper.ConnectionString = WebConfigurationManager.ConnectionStrings["Default"].ConnectionString; //To reload application... System.Web.HttpRuntime.UnloadAppDomain(); } 显示来自数据库的数据,但其数据未根据所选的gridviews更新(database)。

  

编辑:现在,我认为它不会像我一样对多个用户起作用   改变connection string。我有什么方法可以改变   对于按钮上的特定用户web.config connectionString {。}}   点击..

对此有任何帮助将不胜感激。 (对不起愚蠢的代码......)如果你能提出一个更好的方法来实现这个目标,那就太好了。谢谢.. !!

0 个答案:

没有答案