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