【发布时间】:2013-03-17 03:59:30
【问题描述】:
我有一组旧版 Windows 服务。所有这些服务都安装在多台服务器上,但服务可能由于某些原因而关闭,例如内存泄漏、文件系统异常和 sql 连接异常。因此,我们必须每天远程检查服务器并检查服务的状态。虽然添加了恢复操作。但它仍然不是健壮的、可控的。
我想找到的解决方案是将所有这些现有服务集成到一个 windows 服务中。该主机服务可以运行子服务并对其进行调度和监控,当发生错误时,我的主机服务可以恢复,将错误记录到数据库并发送电子邮件给相关人员。该解决方案还可以使我定期安排服务,例如停止,设置。所以我想知道有没有一种方法我不需要修改从服务库继承的现有 Windows 服务的程序集并将它们集成到我的框架中。我认为操作系统可以托管子服务,必须有一种方式让我的主机服务或框架也可以托管子服务并安排它们。
我的最终目标是只有一个 windows 服务,它是我的主机服务。其他子服务在我的服务下运行,没有安装到操作系统。
我在下面挖了一些相关的线程,但它们不能满足我的要求:
【问题讨论】:
-
@leppie 根据我的阅读,您不能将 svchost 用于您自己的服务,stackoverflow.com/questions/849613/…。 Scott,您能否向我们提供有关您希望共同托管的服务的更多信息?它们都是用 .NET 编写的吗?你有他们的源代码吗?
-
@Despertar。 Windows 服务是用 .Net 编写的。我有它们的源代码。但这太多了,其中一些可能在我成为程序员之前就已经存在。 :) 所以,除非必须,否则我不想接触源代码。
标签: .net windows-services