我构建了一个 Windows 服务,我们称之为 Jobs。我有一个 WinForm 应用程序,我们称之为 Viewer。
我希望 Viewer 在 Jobs 开始执行某事时接收来自 Jobs 的事件,以便 Viewer 可以向用户显示 Job A 开始、做某事、停止等。
有没有办法让 Jobs 抛出 Viewer 可以注册接收的事件?我能想到的最好的解决方案是使用 MSMQ,但是我想要一种更直接的方法,我启动 Viewer 并注册到 Jobs Windows 服务并要求从它接收通知/事件。
我似乎无法弄清楚如何在不使用 MSMQ 的情况下让 Windows 服务推送某些东西,或者让其他程序向它注册以接收推送。我绝对不想使用一些奇怪的文件和/或数据库系统,其中 Viewer 会休眠 5 秒,然后检查更改。我想要简化查看器等待事件的地方,但不必使用 MSMQ。