Thursday, 30 August 2012

How to dynamically change connection string/appSetting in web.config

// Update AppSetting in web config
public void UpdateAppSetting(string key, string value)
{
    Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
    if (config.AppSettings.Settings[key] == null)
    {
        config.AppSettings.Settings.Add(key, value);
    }
    else
    {
        config.AppSettings.Settings[key].Value = value;
    }
    config.Save();
    ConfigurationManager.RefreshSection("appSettings");
}
 
// Update connection string in web config
public void UpdateConnectionString(string key, string value)
{
    Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
    if (config.ConnectionStrings.ConnectionStrings[key] == null)
    {
        config.ConnectionStrings.ConnectionStrings.Add(new ConnectionStringSettings(key, value));
    }
    else
    {
        config.ConnectionStrings.ConnectionStrings[key].ConnectionString = value;
    }
    config.Save();
    ConfigurationManager.RefreshSection("connectionStrings");
}
 
 
You can update the contents of web.cofig file by simply calling above functions like this:-
 
protected void Page_Load(object sender, EventArgs e)
{
    UpdateAppSetting("Country", "India");
    UpdateConnectionString("dbName", "dbSchool");
}
 

No comments:

Post a Comment