猿问

如何在运行时修改web.config应用程序设置?

如何在运行时修改web.config应用程序设置?

我对如何在运行时修改web.config应用程序设置值感到困惑。例如,我有以下appSettings部分:

<appSettings>
  <add key="productspagedesc" value="TODO: Edit this default message" />
  <add key="servicespagedesc" value="TODO: Edit this default message" />
  <add key="contactspagedesc" value="TODO: Edit this default message" />
  <add key="aboutpagedesc" value="TODO: Edit this default message" />
  <add key="homepagedesc" value="TODO: Edit this default message" />
 </appSettings>

比方说,我想在运行时修改“homepagedesc”键。我尝试过ConfigurationManager和WebConfigurationManager静态类,但是设置是“只读”的。如何在运行时修改appSettings值?

更新:好的,五年后我来了。我想指出的是,经验告诉我,我们不应该将任何在运行时有意可编辑的配置放在web.config文件中,而是应该将其放在一个单独的XML文件中,如下所示。这将不需要任何编辑web.config文件重新启动应用程序,这将导致愤怒的用户打电话给你。


湖上湖
浏览 731回答 3
3回答

慕尼黑5688855

更改web.config通常会导致应用程序重新启动。如果您确实需要应用程序来编辑它自己的设置,那么您应该考虑一种不同的方法,例如对设置进行数据库化,或者使用可编辑的设置创建XML文件。

RISEBY

如果希望避免重新启动应用程序,则可以将appSettings部分:<appSettings&nbsp;configSource="Config\appSettings.config"/>另一个文件。再加上ConfigurationSaveMode.Minimalvar&nbsp;config&nbsp;=&nbsp;System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");config.Save(ConfigurationSaveMode.Minimal);您可以继续使用appSettings节作为各种设置的存储区,而不会导致应用程序重新启动,并且不需要使用与普通appSettings部分格式不同的文件。
随时随地看视频慕课网APP
我要回答