假设我有两个用 C# 编写的应用程序。第一个是引发名为“OnEmailSent”的事件的第三方应用程序。
第二个是我编写的自定义应用程序,我想以某种方式订阅第一个应用程序的“OnEmailSent”。
有什么方法可以将第二个应用程序附加到第一个应用程序的实例以侦听“OnEmailSent”事件?
因此,为了进一步澄清,我的具体情况是我们有一个用 c# 编写的自定义第三方应用程序,它引发了一个“OnEmailSent”事件。我们可以使用反射器看到事件存在。
我们想要做的是在该组件发送电子邮件时执行一些其他操作。
我们能想到的最有效的方法是能够使用安德斯建议的某种形式的 IPC,并监听第三方组件引发的 OnEmailSent 事件。
因为该组件是用 C# 编写的,所以我们正在考虑编写另一个 C# 应用程序,该应用程序可以将自己附加到正在执行的进程中,并且当它检测到 OnEmailSent 事件已被引发时,它将执行它自己的事件处理代码。
我可能遗漏了一些东西,但根据我对远程处理工作原理的理解,需要有一个服务器来定义客户端可以订阅的某种合同。
我更多地考虑有人编写了一个独立的应用程序,例如 Outlook,它公开了我想从另一个应用程序订阅的事件。
我想我正在考虑的场景是 .net 调试器以及它如何附加到执行程序集以在运行时检查代码。