在我正在ASP.Net上开发的应用程序之一.在这个应用程序中,我们一直在使用大量的AppSettings.在最初的开发中,我们使用了ConfigurationManager.AppSettings [""].但随着开发的进展,我们创建了一个实用程序类,我们在其中为每个AppSettings定义一个静态属性.然后问题开始出现.现在,当应用程序部署在测试服务器上并且我们更改AppSettings上的任何设置时,除非我们重新启动IIS,否则它没有任何效果.这是我用来创建AppSettings的静态属性的以下代码片段.
public static class AppSettingsUtil
{
public static string Log4Net
{
get
{
return ConfigurationManager.AppSettings["Log4Net"];
}
}
}
Run Code Online (Sandbox Code Playgroud)
我能想到的原因之一是,它是一个静态属性,因此可以在其生命周期中初始化一次,因此下次可能无法从appsettings中获取值.
Ed *_*gne 11
我知道这是一个旧线程,但需要添加一些内容.
如果您使用:
<appSettings file="AppSettings.config" />
Run Code Online (Sandbox Code Playgroud)
然后,在更改web.config或执行重新启动之前,对外部文件的更改将不可用.
但如果你把它改为:
<appSettings configSource="AppSettings.config" />
Run Code Online (Sandbox Code Playgroud)
您可以立即在代码中使用这些设置的更改,而无需重新启动或更改web.config.
我刚刚确认这是可重复测试的情况.
| 归档时间: |
|
| 查看次数: |
2253 次 |
| 最近记录: |