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