Как сделать межпроцессное взаимодействие между двумя экземплярами одного и того же приложения? - PullRequest
0 голосов
/ 16 сентября 2010

Я думал об использовании WCF, но тогда конечные точки столкнулись бы. Какие есть другие варианты?

Конечные точки будут конфликтовать, поскольку второй экземпляр будет создан из того же исполняемого файла.

Ответы [ 2 ]

3 голосов
/ 16 сентября 2010

Вы можете использовать любой из примитивов межпроцессного взаимодействия (файлы с отображением в памяти, передача сообщений, каналы или просто стандартные сокеты) ... или вы можете просто определить конечную точку динамически на основе данного экземпляра (например на основе идентификатора процесса).

1 голос
/ 16 сентября 2010

Какой бы механизм IPC вы ни выбрали, основная проблема одинакова - у вас будут конфликты ресурсов, если вы не настроите экземпляры индивидуально для использования непересекающихся локальных ресурсов (хотя таким образом, чтобы каждая пара экземпляров могла подключаться по мере необходимости). Это имеет значение, нужен ли вам просто двухточечный (и как определяется цель для данного исходящего сообщения), или возможность широковещательной рассылки всем активным экземплярам.

Мне кажется, что ответом на этот вопрос действительно является "использовать тот, который лучше всего соответствует вашим требованиям", с более сложным последующим вопросом о том, как настроить экземпляры, чтобы это работало.

...