共用方式為


匯出 WCF 擴充的自訂中繼資料

在 Windows Communication Foundation (WCF) 中,中繼資料匯出是一項流程,描述服務端點並將其投射至平行標準化表示,使得用戶端了解如何使用服務。 自訂中繼資料包含系統提供之中繼資料匯出工具所無法匯出的 XML 項目。 通常這包括使用者定義行為的自訂 WSDL 項目和繫結程序項目,以及有關繫結程序與合約功能和需求的原則判斷提示。

本章節將說明匯出自訂 WSDL 或原則判斷提示,但重點不會放在匯出程序本身。 如需如何使用可匯出和匯入中繼資料 (無論中繼資料是否為自訂或受系統建構) 的類型詳細資訊,請參閱匯出和匯入中繼資料

概觀

使用 System.ServiceModel.Description.ServiceMetadataBehavior 發行中繼資料時會檢查 System.ServiceModel.Description.ServiceDescription,並且會針對 WCF 透過系統提供的屬性和繫結所支援的所有合約和繫結,產生 XSD 和 WSDL (包括原則判斷提示)。 不過,必須支援自訂行為屬性或繫結項目,才能將它們正確匯出。

本章節內容:

  1. 如何實作和使用 System.ServiceModel.Description.IWsdlExportExtension 介面,該介面會在發行 WSDL 之前先對您公開 WSDL 產生的資料。

  2. 如何實作和使用 System.ServiceModel.Description.IPolicyExportExtension 介面,該介面會在匯出 WSDL 資料中的原則判斷提示之前先對您公開原則資料。

如需匯入自訂 WSDL 和原則宣告的詳細資訊,請參閱匯入 WCF 延伸模組的自訂中繼資料

匯出自訂 WSDL 項目

在作業行為、合約行為、端點行為或繫結項目 (分別為 IWsdlExportExtensionIOperationBehaviorIContractBehaviorIEndpointBehavior) 上實作 System.ServiceModel.Channels.BindingElement,並且將行為或繫結項目插入您嘗試匯出的服務描述中。 (如需插入行為的詳細資訊,請參閱使用行為設定和擴充執行時間)。 IWsdlExportExtension 會針對每個端點呼叫,而且每個端點會先匯出合約 (如果合約尚未匯出的話)。 您可以根據需要參與任一個匯出程序:

ExportContract 方法會在匯出的 IWsdlExportExtension 執行個體內所有 System.ServiceModel.Description.ContractDescription 實作上呼叫。 ExportEndpoint 方法會在包含匯出的 IWsdlExportExtension 執行個體之所有 System.ServiceModel.Description.ServiceEndpoint 實作上呼叫。

如需詳細資訊,請參閱操作說明:匯出自訂 WSDL 和範例自訂 WSDL 發佈

匯出自訂原則判斷提示

IPolicyExportExtensionBindingElement上實作 ,並將繫結項目加入至繫結,以便將有關繫結支援和合約功能的自訂原則判斷提示寫入 WSDL。 IPolicyExportExtension 會在匯出繫結中之實作的繫結項目時呼叫一次,並且將 PolicyConversionContext 傳遞至 ExportPolicy 方法。 您可以使用 PolicyConversionContext 執行個體的方法,加入至附加於訊息、作業或端點主體之 WSDL 繫結的原則判斷提示。

如需詳細資訊,請參閱操作說明:匯出自訂原則判斷提示

另請參閱