一步一個腳印學習WCF系列之WCF概要—產生中繼資料與代理(五)

來源:互聯網
上載者:User

  閱讀目錄

  一:契約與中繼資料

  二:服務描述與中繼資料

  一:契約與中繼資料

  . 用戶端與服務端之間共用的應該是Contract契約而不是代碼,就是前面我們講的文章“一步一個腳印學習WCF之WCF概要—WCF服務的建立與調用HelloWorld執行個體,通過編碼方式(四)”一文中的IHelloWorldService,它與其他分布式技術最顯著的區別是耦合性是基於契約的,不是基於代碼的耦合,由於在契約中不包含具體的邏輯,這樣的話為我們構建松耦合的分布式應用程式提供了良好的基礎

  . Web Service Description Language(WSDL)

  Web Service的描述語言WSDL裡麵包含了下面的5個內容,這5個方面的內容是我們在進行資料通訊的時候必須需要的內容

  -互操作契約

  就是我們前面介紹的ABC裡面的C

  -描述服務和相應的Endpoint端點

  就是我們前面介紹的ABC裡面的A

  -Bingding綁定

  就是我們前面介紹的ABC裡面的B

  -訊息和類型的定義

  -策略

  在進行訊息傳遞的時候,要應用哪些具體的策略,都是由WSDL來進行描述的

  . 用於產生用戶端的代理和配置

  在前面的那個Demo,我們的契約以及服務相應的代碼都是用手動的方式來完成的,實際上像用戶端的代理和一些配置具體的代碼可以通過相應的嚮導來產生的

  二:服務描述與中繼資料

  由契約和中繼資料還是用於產生用戶端的代理和響相應的配置的,前面我們講的文章“一步一個腳印學習WCF之WCF概要—WCF服務的建立與調用HelloWorld執行個體,通過編碼方式(四)”一文中服務相應的代碼都是通過編碼實現的,事實上像用戶端的代理和配置裡面具體的代碼我們實際上可以通過嚮導來產生

  1:產生服務描述

  看圖一,在ServiceHost裡面運行著服務以及相應的端點,ServiceHost裡面又多了一個東西是ServiceDescription服務描述,也就是Service具體的描述,由這個Service具體的描述它把Serivce和Endpoint以及相關的ABC資訊在這裡面進行了相應的記錄,外面是有一個Config檔案,當ServiceHost啟動的時候來載入這個Config檔案,根據Config檔案裡面具體的內容來產生相應的描述資訊

  

                                                               圖一     

  2:產生WSDL

  看圖二,由ServiceDescription服務描述來產生WSDL的檔案,通過svcutil.exe這個工具來產生相應的在用戶端所使用的這個Proxyl代理以及相應Channel通道的配置以及相應的代碼,同樣在用戶端我們可以通過Config設定檔的方式來影響Proxyl代理以及Channel通道的產生

  

 

                      圖二

  3:中繼資料的交換

  在完成了圖二階段,我們可以通過svcutil.exe這個工具來實現從Service服務這一端到Client客戶這一端中繼資料的交換,整個的服務描述與中繼資料的互動就是圖三的這個結構,從這個結構圖我們可以看到,Client用戶端它在擷取Service服務具體的資訊時候,實際上它不會直接與Service或者Endpoint來進行接觸的,Client用戶端它在擷取Service或者Endpoint這些具體的資訊的時候,它是通過ServiceDescription服務描述來獲得的並且通過中繼資料互動的這種方式來得到相應的資訊,然後來構建用戶端自己的Proxyl代理,那麼通過這種方式我們也會發現如果現在我們的Service或者Endpoint內部的一些邏輯發生變化的話,只要它不影響ServiceDescription服務描述,就不會對用戶端的Proxyl代理產生影響,同樣也就不會對用戶端來產生影響,這樣的話通過這種方式實現了Client端和ServiceHost端的松耦合的關係

                           圖三

 

聯繫我們

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