采用什么策略来处理WCF中的连接丢失

时间:2017-07-06 14:07:11

标签: c# wcf

我们在同一台服务器上有很多(~15)WCF服务。要连接到它们,我们有一个类(我将其命名为ClientConnection)。此类将客户端上的所有不同服务管理到一个特定服务器。

此类负责为每个被询问的服务创建Channel(及其绑定)(并缓存它们)。

现在,如果连接中断(让我们想象一个交换机关闭,或者一台服务器太忙而无法回答),我想采用后备策略。

表示检测到它已经破坏,然后尝试恢复连接。

目前,我是一名监督员"在此类中验证它是否可以到达远程服务,如果不是它会引发事件。

当我参加此活动时,我该怎么办?刷新频道?处理它并创建一个新的?此外,由于我已经为同一台服务器提供了10-15个活动服务,我还是应该恢复它们吗?

我想我不应该是第一个遇到这个问题的人,但我很难找到一个如何管理所有问题的好策略

1 个答案:

答案 0 :(得分:0)

这听起来非常适合Circuit Breaker Pattern

它的长短是因为你基本上有一些容忍失败的东西,重试行为达到一定程度,然后有一个退避行为逐渐尝试重新建立连接。