WCF(Windows Communication foundation)是微軟的統一網絡通信開發的技術,不管底層用.Net Remoting仍是WebService仍是Restful仍是MSMQ等,只要修改配置文件便可。因此WCF並非新技術。
WCF和.Net Remoting、WebService等技術的關係就像ADO.Net和SQLServer、Oracle驅動的關係同樣。經過VS的「WCF服務配置編輯器」簡化配置,修改不一樣的協議。
一開始內網運行就行,後來想運行到公網,那麼若是一開始用.net remoting寫後來改爲WebService仍是有工做量的,由於寫法不同,可是用WCF就不同了。
新建「WCF服務庫」,WCF服務庫能夠Host在IIS上、單獨的WinForm程序等。
WCF、.Net Remoting和WebService的關係: .Net Remoting是普通的TCP通信,適合於局域網,效率高; WebService是基於Http協議,適合於廣域網,效率低;WCF是對.Net Remoting、 WebService等的簡化、統一,能夠經過配置來切換不一樣的底層實現,代碼幾乎不用動。html
幾個技術名詞介紹:web
remoting 用於跨進程通信的。http://www.cnblogs.com/JiYF/p/6113751.html服務器
MSMQ 全稱MicroSoft Message Queue,微軟消息隊列,是在多個不一樣的應用之間實現相互通訊的一種異步傳輸模式,相互通訊的應用能夠分佈於同一臺機器上,也能夠分佈於相連的網絡空間中的任一位置。它的實現原理是:消息的發送者把本身想要發送的信息放入一個容器中(咱們稱之爲Message),而後把它保存至一個系統公用空間的消息隊列(Message Queue)中;本地或者是異地的消息接收程序再從該隊列中取出發給它的消息進行處理。http://www.cnblogs.com/tenghoo/archive/2009/11/05/1596456.html網絡
幾個問題:app
webservice和.net remoting都是用來通訊的框架,它們最大的優勢是能夠像調用本地對象同樣調用遠程對象框架
區別:
一、webservice是用的應用層協議http封裝的,因此它能夠被不少其它語言調用,不少語言也都實現了webservice代理端封裝以及工具,只要知道webservice的地址(好比:http://www.baidu.com/SomeService.asmx),就能夠用,因此webservice的點特是好用、通用、效率通常;
.net remoting是用傳輸層協議tcp封裝的,因此能夠以二進制傳輸數據,效率高;.net remoting基於.net的反射機制,只方便.net使用(其它語言反射機制實現不一樣,有的根本沒有反射);
二、webservice能穿越防火牆,是由於http協議是如今普遍應用的協議,防火牆通常不會做屏蔽,並不說webservice有某功能穿越防火牆;
三、 只能在winform下用嗎?
若是你是用.net開發,任何類型的應用程序均可以使用webservice和.net remoting,包括winform,asp.net, wpf, silverlight...,只要能using ...就能夠按它們的方式用了
1).net Remoting 的工做原理是什麼?
答:服務器端向客戶端發送一個進程編號,一個程序域編號,以肯定對象的位置。
2) 使用ASMX的XML Web服務與使用SOAP的.NET Remoting的區別?
Web服務使用的消息機制,而Remoting採用的RPC. Web Service能用於不一樣平臺,不一樣語言,Remoting只適用於.Net。效率上Remoting高於Xml Web Service
3)簡要談一下您對微軟.NET 構架下remoting和webservice兩項技術的理解以及實際中的應用。
答:WS主要是可利用HTTP,穿透防火牆。而Remoting能夠利用TCP/IP,二進制傳送提升效率。
4).概述.NET裏對 remoting 和 webservice 兩項技術的理解和實際中的應用。
遠程邏輯調用,remoing接口只能用在.net
remoting是.net 中用來跨越machine, process, appdomain 進行方法調用的技術,對於三成結構的程序,就可使用remoting技術來構建.它是分佈應用的基礎技術.至關於之前的DCOM
Web Service是一種構建應用程序的普通模型,並能在全部支持internet網通信的操做系統上實施。Web Service令基於組件的開發和web的結合達到最佳,基於組件的對象模型asp.net
幾種通信服務方式的區別講解 http://www.cnblogs.com/zuiyirenjian/p/3323578.htmldom