我有一个双工 wcf 服务,它保存(在内存中)对其客户端的回调引用列表。wcf 服务有订阅和取消订阅两种方法。
一个 wcf 服务器和多个客户端都可以正常工作。当我使用 Wcf 路由器服务引入两个具有负载平衡的 wcf 服务器时,问题就开始了。
例如,我有两个 wcf 服务器(wcf1 和 wcf2)和一个路由器服务器(r1)。当客户端调用“订阅”到路由器端点时,它会将该请求广播到 wcf1 和 wcf2 服务器。这样他们两个都持有对客户端的回调引用。当其中一个 wcf 服务器关闭时,问题就开始了。如果 wcf1 服务器出现故障,则所有订阅都将丢失。因此,当它恢复活动时,就没有可用的订阅来进行回调,也没有办法通知客户端重新订阅。
我尝试在客户端收听故障事件。这不会被触发,因为它连接到路由器端点。只有当路由器服务器关闭时,该事件才会触发。
有没有人遇到过和我类似的问题?难道我做错了什么?