【发布时间】:2026-02-05 00:30:01
【问题描述】:
想象一个 WinForms 客户端应用程序,它显示相当复杂的计算数据,该数据是通过 HTTPChannel 使用 .Net Remoting 从服务器应用程序获取的。
由于客户端应用程序可能会运行一整天,因此我需要一种方法来通知客户端新数据可用,以便用户能够在需要时重新加载数据。
目前我正在使用远程 .Net 事件,将事件序列化到客户端,然后在客户端重新抛出事件。
我对这个设置不太满意,并计划重新实现它。
对我来说重要的是:
- .Net 2.0 技术
- 易于使用
- 低复杂度
- 足够强大,可以在服务器或客户端重启后仍然正常运行
当仅限于 .Net 2.0 时,您将如何实现这样的功能?您会使用哪些技术/库?
我正在寻找如何解决这个问题的灵感。
编辑:
客户端和服务器存在于同一个组织中,通常是 LAN,也可能是 WAN/VPN。
这种机制应该只让客户端知道有新数据可用。我想继续远程处理以将实际数据发送给客户端,因为它运行良好。 MSMQ 带有 windows,不是吗?所以使用它应该没问题,但我愿意接受任何替代方案。
【问题讨论】:
-
客户是您组织内部的还是外部的?你对环境有一些控制吗? MSMQ?您要传输多少数据?
-
MSMQ 在这种情况下是理想的。它可以安装在服务器或客户端上,无需重新启动。此外,如果 AD 可用,您还有更多用于队列查找、发现等的选项。
标签: c# .net events remoting client-server