共用方式為


HOW TO:使用組態檔發行服務的中繼資料

在兩個示範如何發行 Windows Communication Foundation (WCF) 服務中繼資料的 HOW TO 主題中,這是其中一個。有兩種方法可以指定服務發行中繼資料的方式,分別是使用組態檔和使用程式碼。本主題說明如何使用組態檔來發行服務中繼資料。如需 透過程式碼發行中繼資料的詳細資訊,請參閱 HOW TO:使用程式碼發行服務的中繼資料。發行中繼資料可讓用戶端透過 WS-Transfer GET 要求,或是透過使用 ?wsdl 查詢字串的 HTTP/GET 要求來擷取中繼資料。若要確定程式碼可以正常運作,請建立基本的 WCF 服務。為了方便您使用,下列程式碼提供您基本的自我裝載服務。

此服務是透過組態檔設定的自我裝載服務。下列組態檔將做為本主題的起點。

若要使用應用程式組態檔來發行 WCF 服務的中繼資料

  1. 在 App.config 檔案中,於結尾的 </services> 項目之後,建立 <behaviors> 項目。

  2. <behaviors> 項目中,新增 <serviceBehaviors> 項目。

  3. <behavior> 項目新增至 <serviceBehaviors> 項目,並指定 <behavior> 項目的 name 屬性值。

  4. <serviceMetadata> 項目加入至 <behavior> 項目。將 httpGetEnabled 屬性設為 true 並將 policyVersion 屬性設為 Policy15。httpGetEnabled 允許服務回應由 HTTP GET 要求所提出的中繼資料要求。policyVersion 會在產生中繼資料時,要求服務符合 WS-Policy 1.5 規定。

  5. 如下列程式碼範例所示,將 behaviorConfiguration 屬性新增至 <service> 項目,並指定 <behavior> 項目的 name 屬性 (於步驟 1 中新增)。

  6. 如下列程式碼範例所示,新增一或多個 <endpoint> 項目,並將合約設為 IMetadataExchange

  7. 針對步驟 6 中新增的中繼資料端點,將 binding 屬性設為下列其中一項:

    • mexHttpBinding (適用 HTTP 發行)。
    • mexHttpsBinding (適用 HTTPS 發行)。
    • mexNamedPipeBinding (適用具名管道發行)。
    • mexTcpBinding (適用 TCP 發行)。
  8. 針對步驟 6 中新增的中繼資料端點,將位址設為與下列項目相等:

    • 如果基底位址與中繼資料繫結相同,則設定空字串以使用主應用程式的基底位址做為發行點。
    • 如果主應用程式具有基底位址,則設為相對位址。
    • 絕對位址
  9. 建置並執行主控台應用程式。

  10. 使用 Internet Explorer 瀏覽至服務的基底位址 (此範例中為 https://localhost:8001/MetadataSample),然後確認已開啟中繼資料發行功能。如果沒有的話,結果頁面上方應該會顯示:「為此服務發行的中繼資料目前停用」。

範例

下列程式碼範例顯示基本 WCF 服務的實作,以及發行服務中繼資料的組態檔。

請參閱

工作

HOW TO:在 Managed 應用程式中裝載 WCF 服務
HOW TO:使用程式碼發行服務的中繼資料

參考

ServiceMetadataBehavior

概念

中繼資料架構概觀
使用中繼資料

其他資源

Self-Host