我有两个托管在两个不同服务器上的服务。
让我们说服务器A上的服务A和服务器B上的服务B.我的服务B依赖于服务A.我想实现功能,比如当服务B明显崩溃/停止时(由于某种原因),我想要服务A模仿B,以便停止服务A.
我可以知道如何实现此功能吗?
注意:我在我的应用程序中捕获了所有可能的异常,但是由于某些数据库问题或一些未处理的异常(在验证环境中没有出现),我需要提供此功能。< / p>
答案 0 :(得分:0)
你说服务B是否依赖于服务A?那么如果服务A停止工作会发生什么? B是否也会停止工作,或者是否只是处理了处理过的异常?
您可以在服务A中实现一个BackgroundWorker
,它调用服务B中的特定功能,并等待回调。如果您在Thread.Sleep()
的{{1}}事件中添加DoWork
,则可以按设定的时间间隔运行BackgroundWorker
。当backgroundWorker
没有从函数返回时,您可以停止服务A.
或者您可以在服务B上使用WCF
CallBack function
,但这似乎有点矫枉过正。