允许配置Windows服务

vdh*_*ant 5 .net c# windows-services

我有一个我正在创建的Windows服务,我想知道有哪些选项可供我让开发人员配置服务.

该服务是整个大型开源项目的一部分,因此该服务将安装在许多不同的机器上.

正常我会使用web/app.config,但我不确定这是否可行.

因此,我希望其他人如何处理这种情况.

Sam*_*der 6

你按照预期做的.您使用app.config,它将在<exeName>.config构建项目时重命名为,然后<exeName>.config由被调用的服务读取<exeName>.

设置以分层方式应用,可能来自计算机上的其他配置文件,例如machine.config.您可以阅读有关如何在MSDN上处理配置的信息

编辑

响应评论:服务只会在启动时读取配置(出于性能原因).如果您想稍后重新加载配置文件,您需要自己处理.

您可以读取配置文件的上次修改日期/时间以确定文件是否已更改,或者设置文件系统观察程序,然后通过调用ConfigurationManager.RefreshSection("appSettings")该部分告诉配置管理器在下次读取时再次重新加载 该部分将在您下次访问时从磁盘重新加载.请参阅ConfigurationManager MSDN文档