当服务停止/崩溃时,在不同的服务中模仿服务状态

时间:2012-07-31 06:47:08

标签: c# msmq

我有两个托管在两个不同服务器上的服务。

让我们说服务器A上的服务A和服务器B上的服务B.我的服务B依赖于服务A.我想实现功能,比如当服务B明显崩溃/停止时(由于某种原因),我想要服务A模仿B,以便停止服务A.

我可以知道如何实现此功能吗?

注意:我在我的应用程序中捕获了所有可能的异常,但是由于某些数据库问题或一些未处理的异常(在验证环境中没有出现),我需要提供此功能。< / p>

1 个答案:

答案 0 :(得分:0)

你说服务B是否依赖于服务A?那么如果服务A停止工作会发生什么? B是否也会停止工作,或者是否只是处理了处理过的异常?

您可以在服务A中实现一个BackgroundWorker,它调用服务B中的特定功能,并等待回调。如果您在Thread.Sleep()的{​​{1}}事件中添加DoWork,则可以按设定的时间间隔运行BackgroundWorker。当backgroundWorker没有从函数返回时,您可以停止服务A.

或者您可以在服务B上使用WCF CallBack function,但这似乎有点矫枉过正。