我又来写博客了
时间真的如梭啊,
一不写就是6天过去了。
这几天研究WCF的订阅/发布系统。
其实本质上是客户端实现CallbackContract接口。
所以在声明ServiceContract时一定要加上回调函数接口
[ServiceContract(SessionMode=SessionMode.Required,CallbackContract=typeof(ISubscriber))]
客户端调用是会看到ISubscriber的回调接口,
只要你的实现类继承这个接口,并把对象自身传过去就可以了。
publisherClient = new PublisherClient(new InstanceContext(this), "WSDualHttpBinding_IPublisher");
InstanceContext就是用来包裹对象的。
服务端将客户端对象保存在内存里,有数据时就会发布了。