连接到我的 window 服务引发的事件

Hooking into an event raised by my window service

我有一个我写的 windows 服务,我希望它在特定条件存在时引发事件。

我希望我的 Windows 表单应用程序接收这些事件。这可能吗?

此服务必须 运行 当所有用户都注销时,但当他们登录并启动应用程序时,我希望它开始从该服务接收事件。

您的 Win App 可能托管 WCF 服务端点。您的 Win 服务将尝试调用该 WCF 服务解析到本地主机的方法 Notify。当 Win App 为 运行 时,Win Service 将成功连接并调用方法 Notify。

最简单的方法是在服务中创建 WCF 端点。您的应用程序将连接到它,然后使用普通事件委托从服务处理信息。

如果需要,这也将允许多个客户端和远程客户端

对于非常旧的代码,有 .NET 远程处理,但如果可能,最好更新代码以使用更新的框架。