如何利用WCF的双工通信“推送”给SL数据

2024-12-28 21:40:03
推荐回答(1个)
回答1:

一,Duplex简介
上一个随笔记录了SL利用Timer定时去WCF上取数据再绑定到界面上的问题,今天尝试用了WCF的Duplex双工通信来做这个事情,也以这个例子来说明WCF中Duplex的使用。

双工通信的原理很简单,我们平时用的是客户端调用服务端的方法来获取数据,而Duplex是将客户端也当作了服务器,客户端上的方法也可以被调用,以聊天功能为例子,用户A连接到服务器后,之前的做法是客户端定时取数据,而Duplex是在服务端定时检测数据变化,如果发现了发送给A的信息,那么立即会调用客户端的方法来推送信息到A。

二,建立Duplex模式的WCF服务
这里以一个简单的聊天功能来说明,WCF提供了三个方法,连接到服务器方法,发送信息方法和接收信息方法。从服务契约上来说分为两个接口,分别是为客户端提供发送信息和开始聊天方法的IChatService接口和服务器调用客户端方法的IChatServiceCallBack接口

IChatService.cs文件
http://www.cnblogs.com/wengyuli/archive/2010/06/19/silverlight-wcf-duplex.html