双工WCF服务通道持续活跃(WSDualHttpBinding)

时间:2011-06-30 17:33:01

标签: wcf duplex wsdualhttpbinding

arhitecture:

  1. 包含wcf双工服务的控制台应用程序;
  2. windows app消费者;每个应用都订阅了Duplex,因此我们有一个订阅者列表 如果有些事件发生,服务必须向其中一些人发送通知;
  3. 问题:

    1. 如何连续维持连接,以便服务可以向客户端发送通知?
    2. 我发现此绑定有2个通道。我需要将服务(用于回调)的频道永久打开。

      感谢;

2 个答案:

答案 0 :(得分:4)

我遇到的问题与你相同,要解决它你需要实现一个keep alive方法。对您的服务进行虚拟调用对于拥有24/7 WCF服务是一种愚蠢的做法,因为它不是WCF的最佳架构方式,但我们知道有时我们需要的并不总是最好的。

所以,只需每5分钟实现一次对WCF服务的调用,并通过这样做来保持连接。也许你也可以遇到其他问题,在我的情况下,我没有很多WCF服务的订户,所以这个解决方案很好。

答案 1 :(得分:0)

只要客户端连接到服务,回调通道就会处于活动状态。一旦客户端断开连接(或通道出现故障),回叫通道将关闭。