WCF編程系列(二)瞭解WCF

來源:互聯網
上載者:User

面向服務
    服務是複用進化的結果,起初的複用是函數,物件導向編程的出現使複用從函數上升到對象,隨後面向組件編程又將複用從對象上升到組件,現在面向服務編程將複用提升到服務層次。
    在面向服務的應用程式中,開發人員只需要關注商務邏輯的編寫,以及通過可交換的、可互操作的服務端點暴露商務邏輯。用戶端調用這些終結點,而不是服務代碼或它的實現包。用戶端與服務端點的互動基於標準的訊息交換,服務發布各種標準中繼資料,描述服務的功能,以及用戶端調用服務作業的方式。正因為是基於標準的互動,所以實現服務端與用戶端的技術與品台可以完全不同。

WCF的優勢
    在WCF之前,.NET Framework提供了多種分布式技術,如ASP.NET Web服務、.NET Framework遠端、企業服務、WSE以及Microsoft訊息佇列。一般我們在編寫一個應用程式時通常會同時使用多項技術,現在WCF已經將這些技術整合,通過WCF即可實現這些技術的所有功能。
    WCF的基本通訊機制是基於SOAP的Web服務,因此基於WCF的應用程式可以與運行在各種不同壞境中的軟體進行通訊:
      1.運行在同一台Windows電腦的不同進程中、基於WCF的應用程式
      2.運行在另一台Windows電腦的基於WCF的應用程式
      3.基於J2EE應用伺服器等其他技術構建的、支援標準Web服務的應用程式。

 

WCF的體繫結構

如所示,WCF為四層體繫結構。在上一篇的樣本中我們實際上已經接觸到了這四層結構:
協定(契約)層:在我們的IFirstService介面中通過ServiceContract以及OperationContract特性建立了一個服務契約
服務運行時層:在我們的Host項目中,通過設定檔控制了我們服務的中繼資料行為:即公開服務中繼資料:

隱藏行號 複製代碼 ? App.config
  1. <behaviors>
  2.   <serviceBehaviors>
  3.     <behavior name="behaviorConfiguration">
  4.       <serviceMetadata httpGetEnabled="true"/>
  5.     </behavior>
  6.   </serviceBehaviors>
  7. </behaviors>

 


訊息傳遞層:同樣在Host項目中,通過設定檔,我們指定終結點的綁定為basicHttpBinding預定義綁定,該預定義表示我們的服務採用http通道及標準的文本SOAP編碼方式

啟用和承載層:即對應於我們樣本中的Host項目的控制台程式,該程式承載了我們的服務,即服務的宿主程式。

Next,我們將進入WCF的殿堂……

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.