SilverLight搭建WCF聊天室详细过程(二十)WCF服务端用户列表字典的应用
时间:2010-12-30 来源:fugitiver
上一节为大家讲解了SilverLight客户端调用WCF服务端以及回调原理,大家已经了解到客户端与服务端通信主要依赖通道,而每个客户端调用WCF服务时都初始化一个新的WCF服务类,这个类就是服务端实现服务接口的类,所以各个通道间不能相互调用,也就不能实现通信功能,要实现客户端间通信功能,我们需要借助静态变量,这也是刚接触WCF双工的朋友最困惑的地方:
静态变量可以被各个初始化的服务类共享,这样我们就实现了所有客户端通道列表调用,这里使用字典原因:我们考虑以下情景,有用户A,B,C,此时A想给C发送消息,虽然通道可以组成静态列表,但是我们并不知道哪个通道属于C,此时就体现出字典的优势,我们可以通过查找字典值获得想要的通道,继而使用此通道回调指定客户端。
在客户端登陆成功后,把用户信息和当前通道添加到onlineUser,这个列表在多客户端相互调用时起到关键作用,用户下线确认是即可从onlineUser将其删除,以保证回调过程中不发生异常。
可能刚入门WCF双工的朋友对客户端间的相互调用有所迷惑,不知道该如何找到对方通道,这里已经为大家详细阐述,如果还有疑问,留言、进群提问都可以,群里朋友建议多写几篇server push文章,谢谢这个建议,最近时间不是很多,有这方面的问题可以提出来,我会把大家遇到的一些重要问题写出来,给新手们做个借鉴。
相关阅读 更多 +
排行榜 更多 +