如何实现Windows服务“keep-alive watcher”?

时间:2017-05-17 07:13:48

标签: c# wcf memory-mapped-files

我有几个Windows服务,托管WCF服务。我想实现一个“监护人”Windows服务,它将监视其他Windows服务,如果他们停止 - 重新启动它们。

该任务已经完成,但我还需要一个功能 - 停止Windows服务的可能性(将它们添加到aka黑名单),以便“监护人”不会重新启动它们,直到用户手动启动Windows服务。黑名单也应该在Windows加载时清理。问题是,如果用户停止了Windows服务并且此时“监护人”也被停止了,那么“监护人”并不知道用户已经停止了Windows服务并且不应该重新启动它。

我第一次尝试使用Memory Mapped File实现它,以便不应重新启动的Windows服务阻止列表将存储在Memory Mapped File中。但是存在一个问题:任何流程都应该托管Memory Mapped File,如果该流程停止,Memory Mapped File将会丢失。

那么我应该使用基本的file来存储“黑名单”吗?

0 个答案:

没有答案