我认为我不清楚。我的意思是如何使用WCF在“客户端到服务器”连接的不同连接中设置回调(“服务器到客户端”)?
我总是只使用一个DuplexChannelFactory看到回调示例。这意味着只使用一个TCP连接来进行客户端到服务器的调用,并接收服务器到客户端的回调。
在我读完这个主题之后,这个问题出现了: Seeking WCF Duplex "TwoWay" Subscribe+Callback Example
我是最佳答案,Ian Ringrose说:
我发现一些有助于避免死锁的规则。 (看看我的WCF问题,看看我的痛苦!)
服务器必须永远不会呼叫同一连接上的客户端,因为来自同一客户端的呼叫正在进行中。
和/或
在处理回叫时,客户端决不能在与“回调”相同的连接上回叫服务器。
我想知道如何使用WCF实现它。
答案 0 :(得分:0)
Robust Interapplication Communications using Double-Simplex WCF上的此CodeProject完全回答了您的问题:
我决定做的是运行两个单独的WCF连接(双单工)。每个应用程序都将为传入消息运行WCF主机,每个应用程序将为传出消息运行WCF客户端。这是一个非常强大的解决方案,不会因停止和启动应用程序而中断。如果需要,WCF客户端只需重新建立连接。
它的解决方式符合您从Ian Ringrose答案中提取的要求。