Предположим, у меня есть два приложения, написанные на C #. Первое - это стороннее приложение, которое вызывает событие «OnEmailSent».
Второе - это пользовательское приложение, которое я написал, и я хотел бы каким-то образом подписаться на «OnEmailSent» даже первого приложения.
Можно ли каким-либо образом прикрепить второе приложение к экземпляру первого приложения, чтобы прослушать событие "OnEmailSent"?
Поэтому для дальнейшего пояснения мой конкретный сценарий состоит в том, что у нас есть специальное стороннее приложение, написанное на c #, которое вызывает событие "OnEmailSent". Мы можем видеть, что событие существует с помощью рефлектора.
Что мы хотим сделать - это выполнить некоторые другие действия, когда этот компонент отправляет электронное письмо.
Самый эффективный способ, которым мы можем придумать, - это использовать какую-либо форму IPC, предложенную Андерсом, и прослушивать событие OnEmailSent, инициируемое сторонним компонентом.
Поскольку компонент написан на C #, мы играем с идеей написать еще одно приложение на C #, которое может присоединиться к исполняемому процессу, и когда оно обнаружит, что событие OnEmailSent было вызвано, оно выполнит свой собственный код обработки события.
Возможно, я что-то упускаю, но из того, как я понимаю, как работает удаленное взаимодействие, должен быть сервер, определяющий какой-то контракт, на который клиент может подписаться.
Я больше думал о сценарии, в котором кто-то написал отдельное приложение, такое как, например, outlook, которое предоставляет события, на которые я хотел бы подписаться из другого приложения.
Я предполагаю, что сценарий, о котором я думаю, - это отладчик .net и то, как он может подключаться к исполняемым сборкам для проверки кода во время его работы.