使用<appsettings file =“ xxx”>时,需要手动重新启动应用程序才能更改值

时间:2018-10-04 21:08:02

标签: c# configuration

我们最近使用appSettings'file'属性将大部分web.config设置分解为一个单独的配置文件。

在Web.config中:

<appSettings file="Configurations/app.config" />

在app.config中:

<appSettings>
  <add key="mySetting" value="true"/>
</appsettings>

在代码中:

var mySetting = System.Web.Configuration.WebConfigurationManager.AppSettings["mySetting"];

由于某种原因,这改变了更改值时的行为。当所有内容都位于Web.config文件本身的appSettings部分中时,在应用程序运行时进行的更改立即生效。现在,我们必须重置应用程序/ iis才能查看app.config中的更改。

我环顾四周,找不到任何文档来描述这种行为变化,介于将所有内容都保存在web.config中和将file属性与单独的文件一起使用。其他人建议在访问代码中的每个设置之前使用RefreshSection()方法,但是我不喜欢在不必要的情况下必须这样做的想法。

为什么会这样?我可以对配置进行更改以立即在此单独的文件中进行配置更改吗?

0 个答案:

没有答案