2010-05-13 8 views
5

Mi aplicación escrita en C# hace uso de la clase MessageQueue en .NET para comunicar mensajes con otra aplicación remota y el MessageQueue siempre debe estar "conectado" (latido presente) con el mensaje remotoQueue bajo todas las circunstancias. Si no está "conectado", indica que algo está mal y mi aplicación tendrá que realizar algunas acciones, como actualizar un registro de eventos.Cómo detecto un corte de conexión usando MessageQueue

¿Hay algún método en la clase MessageQueue que pueda usarse para detectar dichos cortes en la conexión?

+0

¿Está publicando en una cola local o remota? Además, ¿es público o privado? – stuartd

+0

Los mensajes se recuperan de una cola privada local. – Lopper

Respuesta

3

Message Queuing está muy diseñado para sobrevivir a las desconexiones. Y admite el enrutamiento a través de varias máquinas. Como tal, no tiene una forma de verificar si hay una conexión en vivo presente. Probablemente no deberías considerar MSMQ si eso es un requisito, TCP sería una mejor trampa para el mouse.

Podría considerar asking for acknowledgment de su mensaje y tiempo de espera en eso. Eso es pasivo sin embargo. Es posible que ocurra un latido del corazón, pero asegúrese de utilizar una cola no transaccional por separado.

Cuestiones relacionadas