允许配置 Windows 服务

本文关键字:Windows 服务 配置 许配置 | 更新日期: 2023-09-27 18:32:23

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

该服务

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

正常情况下,我会为此使用 web/app.config,但我不确定这是否可能。

因此,我期待其他人如何处理此案。

允许配置 Windows 服务

你按照你的期望去做。 使用 app.config,在生成项目时,该 app.config 将重命名为 <exeName>.config,然后<exeName>.config将由名为 <exeName> 的服务读取。

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

编辑

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

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

您可以只使用与作为服务的 exe 同名的 .config 文件。

如果您的服务作为 MyService.exe 运行,则它的配置文件将是 MyService.exe.config。

在Visual Studio中,只需添加一个应用程序配置文件。这会将 app.config 文件添加到项目中。

然后,您可以使用 ConfigurationManager 类访问 AppSettings 和 ConnectionString 等内容,就像访问 ASP.Net 应用程序一样。