通过c#代码更新web.config

时间:2015-06-30 09:14:03

标签: c# asp.net-mvc-5 web-config

我试图通过我的c#代码在运行时更新一些配置设置。这是我的web.config部分

<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="URL" value="google.com"/>
  <add key="Domain" value="d"/>
  <add key="Project" value="p"/>
  </appSettings>

这是我正在使用的代码:

Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
System.Configuration.ConfigurationManager.AppSettings.Remove("URL");
System.Configuration.ConfigurationManager.AppSettings.Add("URL","www.stackoverflow.com");
config.Save();

但是,它给出了我的配置文件是只读的错误。 我正在使用Visual Studio 2013。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

请你试试吗?

protected void EditConfigButton(object sender, EventArgs e)
{
   Configuration objConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
   AppSettingsSection objAppsettings = (AppSettingsSection)objConfig.GetSection("appSettings");
   //Edit
   if (objAppsettings != null)
   {
      objAppsettings.Settings["test"].Value = "newvalueFromCode";
      objConfig.Save();
   }
}

或请参阅链接Editing Web.config programatically