MSMQ — как взаимодействовать между двумя приложениями

#msmq #msmq-wcf #lokad-cqrs

#msmq #msmq-wcf #lokad-cqrs

Вопрос:

Я начал изучать MSMQ совсем недавно, поэтому у меня есть основные сомнения. Если двум приложениям необходимо обмениваться данными, допустим, с сервером и клиентом, я думаю, что оба будут использовать один и тот же MQ-адрес, и когда клиент обновится, на сервере будет установлен MSMQ watcher, который будет прослушивать выбор сообщения и использовать его. Итак, по моему мнению, нам нужны три компонента

Клиент — который знает расположение очереди

Наблюдатель за очередью — который следит за очередью

сервис — которому наблюдатель за очередью отправит сообщение

Комментарии:

1. Что вы подразумеваете под «оба будут использовать один и тот же MQ-адрес»? Вы имеете в виду, что обе машины помещают сообщения в общую очередь, и приложение определяет, какое сообщение для какой машины? Почему у вас нет очереди на сервере, на который отправляет клиент, и другой очереди на клиенте, на который отправляет сервер?

2. Тогда вам не понадобился бы отдельный наблюдатель MSMQ. Каждое клиентское и серверное приложение следит за очередью.

Ответ №1:

Том Холландер написал отличную серию из трех статей о WCF и MSMQ. Они мне очень помогли, когда мне пришлось создавать приложение для взаимодействия через MSMQ. Есть третья статья, но Stack Overflow не позволяет мне публиковать, поскольку я новый пользователь. Вы можете найти ссылку на это из 2-й статьи.

MSMQ, WCF и IIS: как заставить их работать нормально (часть 1)

MSMQ, WCF и IIS: как заставить их работать нормально (часть 2)