我又来写博客了

时间真的如梭啊,

一不写就是6天过去了。

这几天研究WCF的订阅/发布系统。

其实本质上是客户端实现CallbackContract接口。

所以在声明ServiceContract时一定要加上回调函数接口

[ServiceContract(SessionMode=SessionMode.Required,CallbackContract=typeof(ISubscriber))]

客户端调用是会看到ISubscriber的回调接口,

只要你的实现类继承这个接口,并把对象自身传过去就可以了。

  publisherClient = new PublisherClient(new InstanceContext(this), "WSDualHttpBinding_IPublisher");

InstanceContext就是用来包裹对象的。

服务端将客户端对象保存在内存里,有数据时就会发布了。



 

原文地址:https://www.cnblogs.com/wanghualiang/p/1712547.html