共用方式為


發佈元數據

Windows Communication Foundation (WCF) 服務會藉由發佈一或多個元數據端點來發佈元數據。 發佈服務元數據會使用標準化通訊協定來提供元數據,例如 WS-MetadataExchange (MEX) 和 HTTP/GET 要求。 元數據端點類似於其他服務端點,因為它們具有位址、系結和合約,而且可以透過設定或命令式程式代碼新增至服務主機。

發佈元數據端點

若要發佈 WCF 服務的元數據端點,您必須先將 ServiceMetadataBehavior 服務行為新增至服務。 System.ServiceModel.Description.ServiceMetadataBehavior新增 實例可讓您的服務公開元數據端點。 新增 System.ServiceModel.Description.ServiceMetadataBehavior 服務行為之後,您就可以公開支援 MEX 通訊協定或回應 HTTP/GET 要求的元數據端點。

System.ServiceModel.Description.ServiceMetadataBehavior 使用 WsdlExporter 匯出服務中所有服務端點的元數據。 如需從服務匯出元數據的詳細資訊,請參閱 匯出和匯入元數據

System.ServiceModel.Description.ServiceMetadataBehavior 實例會被作為延伸模組新增到你的服務主機中。 System.ServiceModel.Description.ServiceMetadataExtension提供元數據發行通訊協議的實作。 你也可以在執行時透過 System.ServiceModel.Description.ServiceMetadataExtension 存取 ServiceMetadataExtension.Metadata 該屬性來取得服務的中繼資料。

MEX 元數據端點

若要新增使用 MEX 通訊協定的元數據端點,請將服務端點新增至使用 IMetadataExchange 服務合約的服務主機。 WCF 包含 IMetadataExchange 具有此服務合約名稱的介面,您可以做為 WCF 程式設計模型的一部分使用。 WS-MetadataExchange 端點或 MEX 端點,可以選擇使用類別 MetadataExchangeBindings 的靜態工廠方法中公開的四種預設系結之一,以符合 WCF 工具所使用的預設系結,例如 Svcutil.exe。 您也可以使用自己的自訂系結來設定 MEX 元數據端點。

HTTP GET 元數據端點

若要將中繼資料端點新增至回應 HTTP/GET 要求的服務,請將上的 HttpGetEnabled 屬性設定System.ServiceModel.Description.ServiceMetadataBehaviortrue。 您也可以藉由在 HttpsGetEnabled 上將System.ServiceModel.Description.ServiceMetadataBehavior屬性設置為true,以配置使用 HTTPS 的元資料端點。

本節中

如何:使用設定檔發佈服務的元資料 示範如何配置 WCF 服務發布元資料,使用戶端能透過查詢 ?wsdl 字串進行 WS-MetadataExchange 或 HTTP/GET 請求來取得元資料。

如何:使用程式碼發布服務的元資料 示範如何在程式碼中啟用 WCF 服務的元資料發佈,讓用戶端能透過 WS-MetadataExchange 或使用 ?wsdl HTTP/GET 請求,利用查詢字串取得元資料。

參考文獻

ServiceMetadataBehavior

IMetadataExchange

ServiceMetadataExtension

MetadataExchangeBindings

另請參閱