Мое приложение, записанное в C#, использует MessageQueue
класс в.NET для того, чтобы передать сообщения с другим удаленным приложением и MessageQueue должен всегда "соединяться" (существующий heartbeat) с удаленным messageQueue при всех обстоятельствах. Если это не "соединено", то это сигнализирует, что что-то неправильно, и мое приложение должно будет выполнить некоторые действия, такие как обновление журнала событий.
Есть ли метод в MessageQueue
класс, который может привыкнуть обнаруживать такие перерывы в соединении?
Очередь сообщений в значительной степени предназначена для защиты от отключений. И поддерживает маршрутизацию через несколько машин. Таким образом, у него нет возможности проверить наличие активного соединения. Вероятно, вам не следует рассматривать MSMQ, если это требование, TCP будет лучшей ловушкой для мыши.
Вы можете рассмотреть запрос подтверждения вашего сообщения и тайм-аута для этого. Хотя это пассивно. Сердцебиение возможно, но обязательно используйте отдельную нетранзакционную очередь.