Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有两个服务托管在两个不同的服务器上。
可以说,服务器 A 上的服务 A 和服务器 B 上的服务 B。我的服务 B 依赖于服务 A。我想实现功能,例如当服务 B 显式崩溃/停止时(由于某种原因),我想要服务 A模仿 B 使服务 A 停止。
我可以知道如何实现此功能吗?
注意:我在我的应用程序中捕获了所有可能的异常,但是由于一些数据库问题或一些未处理的异常(在验证环境中没有出现),我需要放置这个功能。
你说服务 B 依赖于服务 A?那么如果服务 A 停止工作会发生什么?B 是否也停止工作,还是只是崩溃到处理的异常中?
您可以BackgroundWorker在服务 A 中实现一个调用服务 B 中的特定函数并等待回调的函数。如果你把 aThread.Sleep()放在DoWork事件中,BackgroundWorker你可以让它以设定的时间间隔运行。当backgroundWorker没有从函数返回时,您可以停止服务 A。
BackgroundWorker
Thread.Sleep()
DoWork
backgroundWorker
或者您可以在服务 B 上使用WCFa CallBack function,但这似乎有点矫枉过正。
WCF
CallBack function