那天在论坛上看了看怎么实现双向通信的文章,所以大家有communitysever的可以从里面获得然后反编译为自己所用,没有的就到网络上搜下吧,有许多资源呢!现在我们来讨论一下WCF双向通信
为了使我们能够更好地对比WCF双向通信在Remoting中和WCF中的实现,我们的Sample采用一样的业务逻辑——调用一个数学计算的远程调用,除了传递相应的操作数之外,我们还传递一个对象,这个对象可以在Server端中回调 (Callback) 把运算结果在Client端显示出来。#t#
可以通过下面的URL下载源代码:http://www.cnblogs.com/files/artech/Artech.WCFService.2007.03.02.zip
Step1:构建整个Solution的整体构架。
整个Solution的架构在我的之前的Blog有了详细的介绍([原创]我的WCF双向通信之旅(1):创建一个简单的WCF双向通信程序),这里只作一个简单的介绍。
Artech.WCFService.Contract: Class Library Project,用来保存Contract(Service Contact、Message Contract、Data Contract),之所以把Contract独立出来的原因是考虑到他同时被Server端——Service本身和Service Hosting和Client端使用
Artech.WCFService.Service:Class Library Project,Service的业务逻辑,这个Project引用Artech.WCFService.Contract Project和System.ServiceModel DLL。
Artech.WCFService.Hosting:Console Application,用于以Self-Hosting的方式Host Service。这个Project引用Artech.WCFService.Contract和Artech. Project WCFService.Service。Project和System.ServiceModel DLL。
Artech.WCFService.Client:Console Application,用以模拟现实中的调用Service的Clinet。这个Project引用Artech.WCFService.Contract Project 和System.ServiceModel DLL。
http://localhost/WCFService: Web Site Project,用于模拟如何把Service Host到IIS中。这个Project引用Artech.WCFService.Contract、Artech.WCFService.Service和System.ServiceModel DLL。