Если вы используете MSMQ для отправки событий, то нет встроенной концепции «получения ответа».
Вот решение: каждый из клиентов может иметь собственную очередь сообщений, которую они прослушивают.,Когда рабочие выполнили свои задачи, они могут отправить клиенту «завершенное» сообщение.
Но как сервер узнает адрес очереди сообщений клиента?
Один из подходов будетпредоставить адрес очереди сообщений клиента в качестве параметра в каждой функции.
Лучше было бы включить этот адрес в качестве пользовательского значения заголовка.Настраиваемое решение для заголовка - лучший подход по двум причинам.Во-первых, это можно настроить с помощью файла конфигурации клиента, что позволяет изменять детали очереди после развертывания.Во-вторых, никогда не желательно, чтобы детали коммуникационного «трубопровода» вмешивались в уровень абстракции вызова функции, а решение с настраиваемым заголовком позволяет этого избежать.
См. этот вопрос дляпример использования пользовательских заголовков.