WCF обмен сообщениями локальный И интернет - PullRequest
0 голосов
/ 16 июня 2011

У меня есть следующий сценарий:

Существует главная служба, которая считывает другие службы данных и / или базу данных в режиме опроса. Когда новое задание становится доступным, оно дает команду «ведомому» сервису создать новый процесс (не поток!) Для работы над этим конкретным заданием и сохраняет идентификатор нового процесса. Затем, если появляется новая команда, касающаяся этого задания, она должна отправить сообщение (очередь?) Этому конкретному процессу.
Чтобы усложнить задачу, служба «ведомый» может находиться на том же сервере, что и главная служба, а может и не находиться, а созданные процессы находятся на том же сервере, что и создавший ее ведомый.
Я ищу лучший способ связи (симплекс с ответом) с процессами от мастера.

  • Допустимо, если мне нужно отправлять сообщения процессам через slaver.
  • Желательно, чтобы для доступа к локальному процессу использовался тот же метод, что и для удаленного процесса

Мой любимый инструмент - WCF, но я не использовал ничего более сложного, чем WsDualHttpBinding ...
Какие у меня варианты? Надежный сеанс? Очередь сообщений?
Какая привязка? NetTcpBinding, NetMsmqBinding, NamedPipes?

1 Ответ

1 голос
/ 17 июня 2011

Я хотел бы, чтобы каждый из запущенных процессов представлял службу WCF «управления процессами», предоставляемую с помощью NetNamedPipeBinding (которая не допускает взаимодействия вне машины). Затем управляйте каждым из них через локальную службу Slaver. Это означает, что у вас есть общая модель коммуникации, независимо от того, являются ли процессы локальными или удаленными, и у вас есть стандартная коммуникационная технология в терминах WCF

...