.NET Remoting與Socket、Webservice和WCF的比較及優點 (轉)

1:Socket VS Remotingweb

    使用socket無疑是效率最高的。可是,在複雜的接口環境下,Socket的開發效率也是最低的。故在兼顧開發效率的狀況下,可使用Remoting來代替Socket開發。而且:
    一、Tcp通道的Remoting速度很是快。
    你能夠經過端口查看工具,發現remoting比直接socket傳輸的內容,應該是屬於同一個數量級的。個人另外一個擔憂是,大客戶端數量的狀況下,remoting傳輸效率會不會很低,結果通過現場測試,同時對300個客戶端進行數據通訊,不存在信息丟失狀況。
    二、雖然是遠程的,可是很是接近於本地調用對象。    也就是徹底符合面向對象思想。
    三、能夠作到保持對象的狀態
    直接使用Socket傳輸機制,咱們必須花大量的精力來處理異常、斷網、死機等現象,使用remoting,這些工做會大大簡化。編程

2:Remoting vs Webservice 
windows

    一、webservice在framework2.0狀態下只能寄宿於IIS等應用服務器中。微軟直到3.0才提供了servicehost來寄宿 webservice,這就極大地限制了webservice在使用中的靈活性。在framework2.0環境下,若是你有一個應用要脫離IIS而存在,就不得不拋棄webservice。(除非你想代碼實現一個WEB應用服務器)安全

    二、Remoting可寄宿在你本身的代碼中,也可寄宿在windows服務及IIS中。最大程度的提供了開發和部署的靈活性。服務器

    三、Remoting在使用http通道的時候,也如Webservice同樣支持穿透路由。socket

    四、Remoting與websercie相比,提供雙向通訊。哪怕是將Remoting寄宿在IIS中,也支持。分佈式

    五、webservice客戶端自動生成的代理類比較複雜。而Remoting通常來講,都是手動編寫客戶端代碼。工具

  六、將Remoting採用TCP通信,比Web Service高效學習

    七、固然,webservice最主要優點是,它是一個行業標準,而Remoting只是微軟本身內部的標準,若是你的應用要脫離微軟的平臺,就只能使用webservice了。測試

 

3:和WCF的比較

  WCF是一個技術集合體,WCF包含Remoting、Web Service等具體的技術。

      一下是WCF的簡介:WC就是微軟對於分佈式處理的編程技術的集大成者,它將DCOM、Remoting、Web Service、WSE、MSMQ集成在一塊兒,從而下降了分佈式系統開發者的學習曲線,並統一了開發標準。
    一、統一性

  前面已經敘述,WCF是對於ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技術的整合。因爲WCF徹底是由託管代碼編寫,所以開發WCF的應用程序與開發其它的.Net應用程序沒有太大的區別,咱們仍然能夠像建立面向對象的應用程序那樣,利用WCF來建立面向服務的應用程序。

  二、互操做性

  因爲WCF最基本的通訊機制是SOAP,這就保證了系統之間的互操做性,即便是運行不一樣的上下文中。這種通訊能夠是基於.Net到.Net間的通訊。

   能夠跨進程、跨機器甚至於跨平臺的通訊,只要支持標準的Web Service,例如J2EE應用服務器(如WebSphere,WebLogic)。應用程序能夠運行在Windows操做系統下,也能夠運行在其餘的 操做系統,如Sun Solaris,HP Unix,Linux等等。

  三、安全與可信賴

  WS-Security,WS-Trust和WS-SecureConversation均被添加到SOAP消息中,以用於用戶認證,數據完整性驗證,數據隱私等多種安全因素。

   在SOAP的header中增長了WS-ReliableMessaging容許可信賴的端對端通訊。而創建在WS-Coordination和WS- AtomicTransaction之上的基於SOAP格式交換的信息,則支持兩階段的事務提交(two-phase commit transactions)。

  上述的多種WS-Policy在WCF中 都給與了支持。對於Messaging而言,SOAP是Web Service的基本協議,它包含了消息頭(header)和消息體(body)。在消息頭中,定義了WS-Addressing用於定位SOAP消息的 地址信息,同時還包含了MTOM(消息傳輸優化機制,Message Transmission Optimization Mechanism)。

  四、兼容性

  WCF充分的考慮到了與舊有系統的兼容性。安裝WCF並不會影響原有的技術如ASMX和.Net Remoting。即便對於WCF和ASMX而言,雖然二者都使用了SOAP,但基於WCF開發的應用程序,仍然能夠直接與ASMX進行交互。

相關文章
相關標籤/搜索