WCF的双工通信是指客户端和服务端都可以主动呼叫对方。在这种通信模式中,WCF利用双向绑定实现服务端和客户端相互公开终结点的信息。
在VS2015,.NET环境下进行测试
本章最大感悟是代理类必须是一个纯的代理类,即不应该有任何属性。(经他人测试貌似有属性也可以,但个人不推荐)
(1)打开WebConfig修改服务端的配置,应选择一个支持双工通信即会话的绑定(一般为wsDualHttpbinding和netTCPbinding)
<protocolMapping>
<add binding="wsDualHttpBinding" scheme="http"/>
(2)在服务端实现服务协定和操作协定以及服务协定的回调接口协定。
双工通信由两个接口组成,第一个接口用于服务,第二个接口用于回调。
[ServiceContract(CallbackContract = typeof(IServiceDuplexCallback))]
public interface IServiceDuplex
{