Windows服务 - 建议在运行时更新其配置文件吗?

时间:2011-05-18 02:48:36

标签: c# .net windows-services

根据我的标题,我想澄清一下:在.Net Windows服务运行时更新配置文件是否明智?

如果有可能,它的含义是什么?

谢谢。

干杯, 安

3 个答案:

答案 0 :(得分:2)

这里有其他优秀的答案,但你在问什么?您是否在询问正在撰写的服务?或关于别人的服务。

如果它是关于你要编写的服务,那么不,在更改时没有自动重新加载.config文件。你要么必须:

  1. 重新启动服务以查看更改。
  2. 编写您的服务以使用FileSystemWatcher查看配置文件是否已更改,然后决定您要对已更改的任何或所有值执行的操作。
  3. 如果是关于他人的服务,您需要根据上述说明询问他们的工作原理。

答案 1 :(得分:1)

这应该对正在运行的程序没有影响。在应用程序启动期间加载配置。如果您希望这些新设置生效,则需要重新启动该服务。

修改: 更重要的是回答您的问题:当在.NET中创建Windows服务(我使用的是Visual Studio 2010)时,默认情况下不会使用它创建应用程序配置文件。通过添加新项/应用程序配置文件(App.config),您将创建一个在服务开始时加载的文件。如下所述,无法保证在运行时不会对其进行监控(除非您是创建者并且您知道是这种情况),但这不是App.config的常见做法。

在这些标准条件下,建议在备份配置文件的工作副本后,在运行时进行更改。然后重启服务。如果你打破它,请恢复到你的工作副本。

答案 2 :(得分:0)

你可以这样做,但需要付出代价,  您是否希望您的服务轮询知道配置文件在运行时是否有任何更改? 通常,我不建议轮询配置文件中的内容更改。