我用C#编写的应用程序利用.NET中的MessageQueue
类与另一个远程应用程序进行消息通信,并且在所有情况下,MessageQueue应始终与远程messageQueue“连接”(存在心跳)。如果它没有“连接”,那么它表示出现了问题,我的应用程序需要执行一些操作,例如更新事件日志。
MessageQueue
类中是否有可用于检测连接中断的方法?
答案 0 :(得分:3)
消息队列非常适合在断开连接时使用。并支持通过多台机器进行路由。因此,它无法检查是否存在实时连接。你可能不应该考虑MSMQ,如果这是一个要求,TCP将是一个更好的鼠标陷阱。
你可以考虑asking for acknowledgment你的消息和超时。这是被动的。心跳是可能的,但请务必使用单独的非事务性队列。