如何发现C#中的appsettings发生了变化?

时间:2013-08-13 13:57:40

标签: c# service

有没有办法(事件将是最好的选择),会注意到我的代码应用设置已更改?

我正在尝试实施一项Windows服务,其中管理员应该“在线”更改行为,而无需重新启动服务。

我在考虑FileSystemWatcher,但是在这个选项中我将硬编码路径并命名为配置文件,所以也许有其他方法可以做到这一点?

更新

以下答案建议使用AppDomain.CurrentDomain.SetupInformation.ConfigurationFile,但如果我的外部配置文件定义如下,则此选项无效:

<configuration>
  <appSettings configSource="appsettings.config"/>
</configuration>

2 个答案:

答案 0 :(得分:2)

您可以将FileSystemWatcher与此声明中的路径一起使用:

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

无需硬编码路径。

答案 1 :(得分:0)

可能通过在后台线程中使用计时器并检查配置文件的每5秒校验和如果更改比fire config更改了事件。