出现故障时重新启动Windows服务

时间:2009-06-10 06:23:49

标签: .net windows-services

我们有一个用.net编写的Windows服务,即托管WCF服务。我的问题是,是否有可能监控并重启任何故障服务,在其他世界我希望我的服务能够在任何故障时自动重启。
非常感谢

5 个答案:

答案 0 :(得分:5)

启动/控制面板/服务/右键单击您的服务/属性/首次失败:重启服务/第二次失败:重启服务/后续失败:重启服务。

应该这样做。

答案 1 :(得分:2)

进入操作系统中的服务管理器,右键单击您的服务并选择属性。在那里,您将找到一个恢复选项卡,可以让您定义崩溃时的行为。

答案 2 :(得分:1)

在单个Windows服务中,可以有多个WCF服务。 您可以为单个WCF服务处理ServiceHost类的Faulted事件并重新初始化它。

答案 3 :(得分:0)

我认为你应该考虑一下你的服务设计。它应该是wcf进程的主机。你可以制作3个帖子:

  • 主线程(仅在v FATAL错误时停止)

  • ExceptionHandler线程(处理“预期的”异常,并记录和处理WCFHost线程死亡)

  • WCFHost线程(托管WCF服务并且可以像ExceptionHandler一样频繁死亡,现在就可以解决这个问题。)

答案 4 :(得分:-1)

您可以编写另一项服务,例如观察服务,该服务将监控此核心服务&停止后会重新启动它。但是,如果观察者服务停止,则无法执行任何操作。

相关问题