我知道这可能已经问过,但我似乎无法找到正确的答案对我来说。
I know this has probably been asked before but I can't seem to find the right answer for me.
我有一个名为Windows服务的的 foobar.exe 的。我有一个名为应用程序配置文件的的 foobar.exe.config 的在同一文件夹。
I have a windows service named foobar.exe. I have an application configuration file named foobar.exe.config in the same folder.
是配置文件只在启动时读取?
我想更改配置文件,而无需重新启动该服务,但是这是我能得到新的设置读取的唯一方法。
I would like to make changes to the config file without having to restart the service but that is the only way I can get the new settings read.
我究竟做错了什么?
可以在Windows的服务有一个动态的配置文件?
推荐答案
.NET应用程序将读取其配置文件在启动并缓存性能的原因。
.NET applications will read their config files at startup and cache them for performance reasons.
我看到周围这两种基本方式:
I see two basic ways around this:
在你的服务,跟踪的上次更新日期/时间配置文件。定期检查最后更新日期,如果你发现一个变化,重新加载配置文件
in your service, keep track of the last update date/time for the config file. Check this last update date regularly and if you detect a change, re-load the config file
Windows NT服务可以以一种特殊的OnCustomCommand事件。你可以实现这样的事件处理程序重新加载配置,当你做更改配置,你可以有一个小工具的信号为您服务的配置已发生变化,发送自定义命令为您服务
a Windows NT service can respond to a special OnCustomCommand
event. You could implement such an event handler to reload the config, and when you do change the config, you could have a small utility to signal to your service that the config has changed and send that "custom command" to your service
相关推荐
最新文章