共用方式為


擷取中繼資料

中繼資料擷取程序會要求和擷取中繼資料端點內的中繼資料,這些端點包括像是 WS-MetadataExchange (MEX) 中繼資料端點或 HTTP/GET 中繼資料端點。

使用 Svcutil.exe 來從命令列擷取中繼資料

您可以使用 ServiceModel Metadata Utility Tool (Svcutil.exe) 工具並將 /target:metadata 參數傳遞至某個位址,以使用 WS-MetadataExchange 或 HTTP/GET 要求來擷取服務中繼資料。Svcutil.exe 會在指定的位址下載中繼資料,並將檔案儲存到磁碟中。Svcutil.exe 會在內部使用 System.ServiceModel.Description.MetadataExchangeClient 執行個體 (Instance),而且會從 IMetadataExchange 端點組態 (其名稱與傳遞至 Svcutil.exe 做為輸入的位址配置相同) 載入。

使用 MetadataExchangeClient 來以程式設計方式擷取中繼資料

Windows Communication Foundation (WCF) 可以使用標準化的通訊協定來擷取服務中繼資料,這些通訊協定包括像是 WS-MetadataExchange 和 HTTP/GET 要求。MetadataExchangeClient 型別支援上述兩種通訊協定。您可以藉由提供中繼資料端點的位址及選擇性繫結,來擷取使用 System.ServiceModel.Description.MetadataExchangeClient 型別的服務中繼資料。System.ServiceModel.Description.MetadataExchangeClient 執行個體使用的繫結,可以是 MetadataExchangeBindings 靜態類別的其中一個預設繫結、使用者提供的繫結,或是從 IMetadataExchange 合約之端點組態載入的繫結。System.ServiceModel.Description.MetadataExchangeClient 也可以將 HTTP URL 參考解析成使用 HttpWebRequest 型別的中繼資料。

根據預設,System.ServiceModel.Description.MetadataExchangeClient 執行個體與單一的 ChannelFactory 執行個體有密切的關係。您可以透過覆寫 GetChannelFactory 虛擬方法,以變更或取代 System.ServiceModel.Description.MetadataExchangeClient 所使用的 System.ServiceModel.ChannelFactory 執行個體。同樣地,您可以覆寫 System.ServiceModel.Description.MetadataExchangeClient.GetWebRequest(System.Uri,System.String,System.String) 虛擬方法,以變更或取代 System.ServiceModel.Description.MetadataExchangeClient 所使用的 HttpWebRequest 執行個體。

本章節內容

請參閱

參考

MetadataExchangeClient