我们有一个用.net编写的Windows服务,即托管WCF服务。我的问题是,是否有可能监控并重启任何故障服务,在其他世界我希望我的服务能够在任何故障时自动重启。
非常感谢
答案 0 :(得分:5)
启动/控制面板/服务/右键单击您的服务/属性/首次失败:重启服务/第二次失败:重启服务/后续失败:重启服务。
应该这样做。
答案 1 :(得分:2)
进入操作系统中的服务管理器,右键单击您的服务并选择属性。在那里,您将找到一个恢复选项卡,可以让您定义崩溃时的行为。
答案 2 :(得分:1)
在单个Windows服务中,可以有多个WCF服务。 您可以为单个WCF服务处理ServiceHost类的Faulted事件并重新初始化它。
答案 3 :(得分:0)
我认为你应该考虑一下你的服务设计。它应该是wcf进程的主机。你可以制作3个帖子:
主线程(仅在v FATAL错误时停止)
ExceptionHandler线程(处理“预期的”异常,并记录和处理WCFHost线程死亡)
WCFHost线程(托管WCF服务并且可以像ExceptionHandler一样频繁死亡,现在就可以解决这个问题。)
答案 4 :(得分:-1)
您可以编写另一项服务,例如观察服务,该服务将监控此核心服务&停止后会重新启动它。但是,如果观察者服务停止,则无法执行任何操作。