在我正在ASP.Net上开发的应用程序之一中。在这个应用程序中,我们一直在使用大量的AppSettings。在最初的开发中,我们使用了ConfigurationManager.AppSettings [“”]。但随着开发的进展,我们创建了一个实用程序类,我们将为每个AppSettings定义一个静态属性。然后问题开始出现。现在,当应用程序部署在测试服务器上,并且我们更改AppSettings上的任何设置时,除非重新启动IIS,否则它没有任何作用。以下是我用来创建AppSettings的静态属性的以下代码片段。更改AppSetting对应用程序没有影响
public static class AppSettingsUtil
{
public static string Log4Net
{
get
{
return ConfigurationManager.AppSettings["Log4Net"];
}
}
}
一个我能想到的原因是,它是一个静态属性,因此它可一次在其一生中这样下一次开始初始化,可能无法从AppSettings的获取值。
不错的加法。这将有很大帮助。 – 2012-01-30 10:44:40
有一点要注意。如果您使用configSource,那么您的web.config的appSettings部分中不能有任何条目。只在你的外部文件中。 如果您使用file =方法,那么您可以在两个位置都有条目...但您必须重新启动IIS(或更改web.config)才能读取您的外部文件。 – 2013-06-18 17:34:04
感谢您解释“文件”与“configSource”位Ed!我一直在敲我的头,直到我找到了! – 2016-10-07 12:42:02