WCF知識總結一

一、介紹WCF

        分佈式應用需要頻繁地跨進程邊界通信。分佈式應用同樣需要託管(宿主,比如IIS,Windows NT服務)。.Net Framework通過Socket和MessageQueue類型抽象了操作系統的I/O機制。這種類型會被WCF的基礎框架來用來發送和接收消息。

        WCF特性:獨立版本控制、異步只進消息、平臺統一、可靠性、事務支持、互操作性、性能、擴展性和配置性。

        WCF支持跨越多個系統的事務範圍:

    1. .NET Remoting:高效,不能與非.net framework應用交互。
    2. ASMX(web service):沒.NET Remoting高效,但可以與非.net framework應用交互。
    3. MSMQ(Message Queue):效率不高,但消息的特性可以彌補效率問題,不能與其他的消息隊列系統交互。

        WCF支持XML文件的完善的配置功能。WCF完全支持SOAP和WS-*規範,也同樣可以發送樸素的舊的XML(POX)消息,並且適應架構。它集成了不同的分佈式技術:RPC,COM+,Remoting,ASMX,WSE和MSMQ,WCF也是高擴展性的。

        消息編碼:

        WCF是建立在SOAP1.2(XML Infoset)上的,但是它可以同時處理SOAP1.1和SOAP1.2的消息。

        WCF提供了三種編碼器:

  1. 文本(text)編碼器
  2. 二進制(binary)編碼器
  3. MTOM(消息傳輸優化機制)編碼器。
  4. WCF4.0裏提供了一種新的編碼器:字流編碼器,用於滿足對原始二進制數據傳輸的需求。

        二進制編碼器只適用於WCF到WCF的通信。在WCF所有的編碼器中,二進制編碼器產生最小的信息。這個編碼器產生一個序列化的Infoset。

MTOM消息編碼的WCF消息可以發送給非WCF的應用。在運行時,MTOM編碼器會爲數字簽名創建一個基於base64編碼的符號,讓原始二進制數據可以在消息裏打包。

        WCF的設計目標就是在改變消息編碼的時候,不需要對應用系統做出大的改變。事實上,這使得一個服務可以與多種消息編碼交互成爲可能。

發佈了29 篇原創文章 · 獲贊 1 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章