如何實現WCF雙向通信數據傳輸
那天在論壇上看了看怎么實現雙向通信的文章,所以大家有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。