2016-08-05 2 views
0

У меня есть компонент COM +, из которого первое место в MSMQ и инициализирует другой COM +. Затем второе приложение COM + обрабатывает сообщение из MSMQ, и сообщение удаляется из очереди. Я получаю вопрос о том же повторении сообщения 2 раза для некоторых запросов случайным образом.Сообщение MSMQ replay случайно почему?

Кто-нибудь знает причину, по которой это происходит?

ответ

0

Похоже, вы выполняете двухэтапный процесс.

  1. сообщение Peek, чтобы получить данные
  2. Получить сообщение, чтобы удалить сообщение

Первый экземпляр второго COM + приложение еще не получил сообщение перед вторым экземпляром второго COM + приложение просматривает одно и то же сообщение, что приводит к многократной обработке.

Если это так, лучше использовать транзакционный прием вместо Peek/Receive. Предполагая, что ваша ОС поддерживает это.

Смежные вопросы