为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

湖上湖 2019-07-10 16:09:52
如何在运行时修改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文件重新启动应用程序,这将导致愤怒的用户打电话给你。
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

更改web.config通常会导致应用程序重新启动。

如果您确实需要应用程序来编辑它自己的设置,那么您应该考虑一种不同的方法,例如对设置进行数据库化,或者使用可编辑的设置创建XML文件。


查看完整回答
反对 回复 2019-07-10
?
RISEBY

TA贡献1856条经验 获得超5个赞

如果希望避免重新启动应用程序,则可以将appSettings部分:

<appSettings configSource="Config\appSettings.config"/>

另一个文件。再加上ConfigurationSaveMode.Minimal

var config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");config.Save(ConfigurationSaveMode.Minimal);

您可以继续使用appSettings节作为各种设置的存储区,而不会导致应用程序重新启动,并且不需要使用与普通appSettings部分格式不同的文件。


查看完整回答
反对 回复 2019-07-10
  • 3 回答
  • 0 关注
  • 708 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信