學習 WCF — 基礎篇

來源:互聯網
上載者:User

  Windows Communication Foundation (WCF)是一個面向服務編程的綜合分層架構。該架構的頂層稱為服務模型層(Service Model Layer),使使用者用最少的時間和經曆建立自己的軟體產品和外界通訊的模型。它使得開發人員能夠建立一個跨平台的安全、可信賴、事務性的解決方案,且能與已有系統相容協作。我將通過幾篇文章和大家一起學習WCF,希望能對新手學習WCF有些協助。

從功能的角度來看,WCF 完全可以看作是ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ 等技術的並集:

WCF Service

  軟體設計的一個重要原則:軟體組件必須針對特定的任務專門的設計和最佳化。假如我們要做一個管理軟體,想象一下,如果一個軟體非常依賴於與外界通訊,我們不能把管理軟體與外界通訊的邏輯考慮在管理系統內部。所以必須把通訊任務委託給不同的組件。用WCF術語來說,這個組件稱為WCF服務。更通俗的將,WFC服務就是負責與外界通訊的軟體。

一個WCF Service 由下面三部分構成:

Service Class:一個標記了[ServiceContract]屬性的類,在其中可能包含多個方法。除了標記了一些WCF 特有的Attribute 外,這個類與一般的類沒有什麼區別。
Host(宿主):可以是應用程式,進程如Windows Service 等,它是WCF Service 運行環境。
Endpoints:可以是一個,也可以是一組,它是WCF 實現通訊的核心要素。

在後面的執行個體應用中,我還會提到上面這三個概念。

WCF 端點

個WCF服務必須能為不同的通訊情境提供不同的訪問點,這些訪問點稱為WCF端點。也就是上面所提到的EndPoint。每個端點都有一個綁定,一個地址和一個契約:

(1)綁定:指定該端點如何與外界通訊,也就是為端點指定通訊協定。

  • 傳輸協議:端點和用戶端通過傳輸協議通訊。比較常用的是HTTP和TCP。
  • 編碼協議:在進入通訊鏈路之前,端點和客戶通過編碼協議對通訊進行編碼。比較常見的是XML檔案二進位碼。
  • 安全性通訊協定:端點和使用者通過安全性通訊協定保證通訊的安全。比如一些敏感的資訊,要求通過加密的傳輸通道。比較常見的是HTTPS和WS-Security。

    (2)地址:一個端點地址指定端點的位置,如果通過端點與WCF通訊,必須把通訊指定到網路地址。

    (3)契約:一個端點上契約指定通過該端點的使用者能訪問到WCF服務的什麼操作。

    在WCF 中,類ServiceEndpoint 代表了一個端點(Endpoint),在類中包含的EndpointAddress,Binding,ContractDescription 類型分別對應端點的地址,綁定和契約。

    WCF服務模型

    最後簡單的說下WCF的服務模型。

    WCF是一個層次架構,該架構的頂層稱為服務模型,用於WCF服務的建模。

    WCF服務模型提供了3種重要手段對自己的WCF服務進行建模:

    (1)面向屬性編程:WCF服務模型帶有一套中繼資料屬性,可以通過屬性工作表示相應的實體,如:屬性,介面,類等。

    (2)面向配置編程:WCF服務模型帶有方便的配置語言,可以通過它在設定檔中進行建模。

    (3)常規命令編程:WCF服務模型帶有一組方便的託管類,可以使用這些託管類對服務進行建模。

     

    簡單的基礎知識就說這些,下篇將介紹如何開發WCF服務。

  •     文章作者:高維鵬(Brian)
        文章出處:http://www.cnblogs.com/gaoweipeng/archive/2009/04/30/1447226.html

        歡迎轉載,轉載時請註明出處。謝謝合作。

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.