我用 C# 编写的应用程序使用 .NET 中的 MessageQueue
类与另一个远程应用程序进行消息通信,MessageQueue 应始终与远程 messageQueue 在所有情况下“连接”(存在心跳)情况。如果它没有“连接”,那么它表示有问题,我的应用程序将需要执行一些操作,例如更新事件日志。
MessageQueue
类中是否有可用于检测此类连接中断的方法?
最佳答案
消息队列的设计非常适合断开连接。并支持通过多台机器进行路由。因此,它无法检查是否存在实时连接。如果这是一项要求,您可能不应该考虑 MSMQ,TCP 会是一个更好的捕鼠器。
你可以考虑asking for acknowledgment你的消息和超时。不过那是被动的。心跳是可能的,但一定要使用单独的非事务性队列。
关于c# - 如何使用 MessageQueue 检测连接中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2827330/