如何仅针对服务器回调设置连接,仅为使用WCF的客户端调用设置连接?

时间:2011-09-29 14:36:11

标签: wcf tcp callback client

我认为我不清楚。我的意思是如何使用WCF在“客户端到服务器”连接的不同连接中设置回调(“服务器到客户端”)?

我总是只使用一个DuplexChannelFactory看到回调示例。这意味着只使用一个TCP连接来进行客户端到服务器的调用,并接收服务器到客户端的回调。

在我读完这个主题之后,这个问题出现了: Seeking WCF Duplex "TwoWay" Subscribe+Callback Example

我是最佳答案,Ian Ringrose说:

  

我发现一些有助于避免死锁的规则。 (看看我的WCF问题,看看我的痛苦!)

     

服务器必须永远不会呼叫同一连接上的客户端,因为来自同一客户端的呼叫正在进行中。

     

和/或

     

在处理回叫时,客户端决不能在与“回调”相同的连接上回叫服务器。

我想知道如何使用WCF实现它。

1 个答案:

答案 0 :(得分:0)

Robust Interapplication Communications using Double-Simplex WCF上的此CodeProject完全回答了您的问题:

  

我决定做的是运行两个单独的WCF连接(双单工)。每个应用程序都将为传入消息运行WCF主机,每个应用程序将为传出消息运行WCF客户端。这是一个非常强大的解决方案,不会因停止和启动应用程序而中断。如果需要,WCF客户端只需重新建立连接。

它的解决方式符合您从Ian Ringrose答案中提取的要求。