有没有办法(事件将是最好的选择),会注意到我的代码应用设置已更改?
我正在尝试实施一项Windows服务,其中管理员应该“在线”更改行为,而无需重新启动服务。
我在考虑FileSystemWatcher
,但是在这个选项中我将硬编码路径并命名为配置文件,所以也许有其他方法可以做到这一点?
更新
以下答案建议使用AppDomain.CurrentDomain.SetupInformation.ConfigurationFile
,但如果我的外部配置文件定义如下,则此选项无效:
<configuration>
<appSettings configSource="appsettings.config"/>
</configuration>
答案 0 :(得分:2)
您可以将FileSystemWatcher
与此声明中的路径一起使用:
AppDomain.CurrentDomain.SetupInformation.ConfigurationFile
无需硬编码路径。
答案 1 :(得分:0)
可能通过在后台线程中使用计时器并检查配置文件的每5秒校验和如果更改比fire config更改了事件。