Использование общей памяти сложнее, потому что вам придется управлять размером буфера общей памяти (или просто предварительно выделить достаточно). Вам также придется вручную управлять структурами данных, которые вы там поместили. После того, как вы его протестируете и будете работать, его будет проще использовать и тестировать из-за его простоты.
Если вы идете по маршруту удаленного взаимодействия, вы можете использовать IpcChannel вместо каналов TCP или HTTP для единой системы связи с использованием именованных каналов. http://msdn.microsoft.com/en-us/library/4b3scst2.aspx. Проблема этого решения заключается в том, что вам нужно будет найти решение с типом реестра (в общей памяти или в другом постоянном хранилище), с помощью которого процессы могут зарегистрировать свои конечные точки. Таким образом, когда вы ищете их, вы можете найти способ запросить все конечные точки, которые работают в системе, и вы можете найти то, что вы ищете. Преимущества использования Remoting в том, что сериализация и вызов методов довольно просты. Кроме того, если вы решите перейти на несколько компьютеров в сети, вы можете просто переключить коммутатор, чтобы использовать вместо этого сетевые каналы. Недостатки в том, что удаленное взаимодействие может разочаровать, если вы четко не отделите «удаленные» вызовы от «локальных».
Я мало что знаю о WCF, но это также может стоить изучить. Чувство паука говорит, что у него, вероятно, есть более элегантное решение этой проблемы ... возможно.
Кроме того, вы можете создать «серверный» процесс, который будет отделен от всех других процессов и будет запущен (используйте систему Mutex, чтобы убедиться, что более одного не запущено), чтобы выполнять роль посредника и регистрации. концентратор для всех других процессов.
Еще одна вещь, которую нужно рассмотреть в модели публикации-подписки на события (Pub / Sub). Этот метод помогает, когда у вас есть прослушиватель, который запускается до того, как источник события станет доступен, но вы не хотите ждать, чтобы зарегистрироваться для события. Процесс «сервер» будет обрабатывать реестр событий, чтобы связать издателей и подписчиков.