接口:
1 把服务契约设置为双工协定时的回调协议类型 [ServiceContract(CallbackContract=typeof(IServiceBack))]
我们普通时的写法直接是[ServiceContract],要让服务端能够调用客户端必须在接口前加 [ServiceContract(CallbackContract=typeof(回调接口))]
2 定义回调的服务契约,并把方法定义为双向的 [OperationContract(IsOneWay=true)]
实现:
1 获取调用当前操作的客户端实例的通道 OperationContext.Current.GetCallbackChannel<IService1Back>()
通常如果要监听多个客户端,采用List进行存放。在响应客户端循环响应。
客户端响应和调用时一致,根据之前服务端定义的回调服务来决定响应的