如何使用MessageQueue检测连接中断

时间:2010-05-13 13:58:31

标签: c# connection msmq mq message-queue

我用C#编写的应用程序利用.NET中的MessageQueue类与另一个远程应用程序进行消息通信,并且在所有情况下,MessageQueue应始终与远程messageQueue“连接”(存在心跳)。如果它没有“连接”,那么它表示出现了问题,我的应用程序需要执行一些操作,例如更新事件日志。

MessageQueue类中是否有可用于检测连接中断的方法?

1 个答案:

答案 0 :(得分:3)

消息队列非常适合在断开连接时使用。并支持通过多台机器进行路由。因此,它无法检查是否存在实时连接。你可能不应该考虑MSMQ,如果这是一个要求,TCP将是一个更好的鼠标陷阱。

你可以考虑asking for acknowledgment你的消息和超时。这是被动的。心跳是可能的,但请务必使用单独的非事务性队列。