如何實現(xiàn)WCF雙向通信數(shù)據(jù)傳輸
那天在論壇上看了看怎么實現(xiàn)雙向通信的文章,所以大家有communitysever的可以從里面獲得然后反編譯為自己所用,沒有的就到網(wǎng)絡(luò)上搜下吧,有許多資源呢!現(xiàn)在我們來討論一下WCF雙向通信
為了使我們能夠更好地對比WCF雙向通信在Remoting中和WCF中的實現(xiàn),我們的Sample采用一樣的業(yè)務(wù)邏輯——調(diào)用一個數(shù)學(xué)計算的遠程調(diào)用,除了傳遞相應(yīng)的操作數(shù)之外,我們還傳遞一個對象,這個對象可以在Server端中回調(diào) (Callback) 把運算結(jié)果在Client端顯示出來。#t#
可以通過下面的URL下載源代碼:http://www.cnblogs.com/files/artech/Artech.WCFService.2007.03.02.zip
Step1:構(gòu)建整個Solution的整體構(gòu)架。
整個Solution的架構(gòu)在我的之前的Blog有了詳細的介紹([原創(chuàng)]我的WCF雙向通信之旅(1):創(chuàng)建一個簡單的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的業(yè)務(wù)邏輯,這個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,用以模擬現(xiàn)實中的調(diào)用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。