




WCF - один из самых простых способов сделать это. Вы можете зарегистрировать конечную точку службы в каждом приложении или, если одна из них является службой, а другая - клиентом, вы можете просто использовать один узел службы.
Есть множество способов добиться этого. Раньше я использовал именованные каналы. Поддержка именованных каналов теперь также встроена в .NET (согласно версии 3.0?), Так что это довольно просто.
Я сделаю дикий удар и скажу, что вы, вероятно, хотите, чтобы офисное приложение вызвать домой для вашего exe? В этом контексте exe - это сервер, а офисное приложение - клиент.
Если вы используете .NET 3.0, лучше всего подойдет WCF. Я бы разделил решение на три части:
И для exe, и для плагина потребуются файлы конфигурации, определяющие привязки.
Если вы хотите передать данные между клиентом и сервером, ваш клиент создаст объект из сборки «Shared Contracts» и передаст его клиенту-сервису. Файл конфигурации клиента определит, куда отправлять данные.
Пошаговое руководство по созданию базовой службы WCF, ознакомьтесь с этим учебным пособием.
олдскульный но работает - использование WM_COPYDATA для отправки сообщений между приложениями Windows
Ага. WCF - это то, что нужно. Я рекомендую проверить iDesign.net, чтобы использовать класс InProcFactory. Вы можете превратить свой офисный класс в службу и вызвать другое приложение, в котором размещена служба. Затем другая служба может перезвонить в офисную службу.
Вы можете использовать конечную точку IPC, которая сделает связь быстрой.
-Скотт
это не тот же вопрос ... мой вопрос касается взаимодействия двух разных приложений, а не одного и того же приложения, которое запускается несколько раз и требует некоторого центрального объекта состояния