我需要为具有一个经理和多个消费者/客户的系统实现通知机制。每当数据发生变化时,经理应该轮询数据库并触发事件。现在,如果所有客户端都对相同的数据感兴趣,那将很容易,并且实现单个事件并为所有客户端订阅该事件就足够了。但是,客户端应该只接收他们负责的数据的事件。
例如,有多个客户添加新客户。这通过管理器以线程安全的方式发生。现在,这些创建客户的客户需要知道仅发生在这些客户身上的任何更改。经理每 N 秒轮询一次客户表,并获得所有已更改客户的列表。然后,经理需要将通知“路由”(因为没有更好的词)给感兴趣的客户。
这是否必须通过每个客户端必须提供给经理的某种回调来实现?这听起来像是我需要的东西,但我不知道如何将参数传递给这个回调(这里,这些是我感兴趣的客户,当你有任何其他客户的更新时不要打扰我)
我使用 C#、.NET 2.0。谢谢!