WCF从理论到实践(8):事件广播2010-08-24 cnblogs jillzhang上文讨论了WCF中三种消息交换模式,one-way,request/reply,duplex。前两项比较简单,无需多言,duplex相对比较复杂,上文只是实现了简单的回调,在真正应用的时候,还有许多值得注意之处,本文就结合一个实际的应用例子来谈论下duplex的具体应用和非常值得我们注意的地方。本文的出发点通过阅读本文,您能理解以下知识:如何实现一个基于duplex的事件广播解析在实现duplex事件广播中的几个问题初步探讨一下异步本文适合的读者本文属于中等难度的文章,需要有WCF消息交换和windows应用程序开发相关的基础知识,有关WCF消息交换,请阅读WCF从理论到实践(7):消息交换模式如何实现一个基于duplex的事件广播在讨论如何实现之前,先看一下本文的范例所要实现的功能是什么?本文的范例实现了一个简单的分布式任务管理系统,简单的说,它是在服务端(Server Point)执行任务(Job),并且将任务的信息呈现给客户端。它有如下特征:通过调用服务端的Accept(),客户端能连接上服务端,并保持会话。客户端在启动的时候,可以通过远程调用GetJobs()来获取当前服务端中全部的任务,并将这些任务在客户端窗体中用列表控件呈现出来客户端能通过调用AddJob()向服务端添加任务,当服务端完成添加操作之后,引发添加完成的事件,并向全部的客户端广播该事件当客户端服务端发来的添加新任务事件广播的时候,客户端将新增任务添加到列表控件加以呈现客户端可以命令服务端执行具体某个任务,当任务在开始执行和执行结束后,服务端都会像全部客户端广播任务的执行情况,并且任务的执行和事件的广播异步执行客户端收到广播后,便可以更新任务信息。和以前文章不同,本文先给出最后实现的效果