System.Runtime.Serialization.XsdDataContractExporter 類別

本文提供此 API 參考文件的補充備註。

當您已建立合併 Common Language Runtime (CLR) 型別表示之資料的 Web 服務,以及當您需要匯出其他 Web 服務要取用之每個型別的 XML 結構描述時,即可使用 XsdDataContractExporter 類別。 也就是 XsdDataContractExporter 會將 CLR 型別集合轉換成 XML 結構描述 (如需可使用的類型詳細資訊,請參閱 數據合約串行化程式支援的類型。架構接著可以透過 Web 服務描述語言 (WSDL) 文件公開,以供需要與您的服務互操作的其他人使用。

相反地,如果您要建立必須與現有 Web 服務相互操作的 Web 服務,則可使用 XsdDataContractImporter 來轉換 XML 結構描述,並且建立可表示選定程式設計語言內資料的 CLR 型別。

XsdDataContractExporter 會產生其中包含結構描述集合的 XmlSchemaSet 物件。 透過 Schemas() 屬性,存取結構描述的集合。

注意

為了快速產生其他 Web 服務可以取用的 XML 結構描述定義 (XSD) 檔案,此時要使用 XsdDataContractExporter

將架構匯出至 XmlSchemaSet

若要建立其中包含 XML 結構描述檔案之 XmlSchemaSet 類別的執行個體,您應該留意下列事項。

匯出的型別集合會記錄成為內部的資料合約集合。 因此您可以多次呼叫 CanExport 方法,在不會降低效能的情況下將新型別加入結構描述集合中,因為只有新型別會新增至該集合。 在 Export 作業期間,現有的結構描述會跟新加入的結構描述進行比較。 如果這時發生衝突,就會擲回例外狀況。 通常在兩種型別使用相同的資料合約名稱,但是同一個 XsdDataContractExporter 執行個體卻匯出不同的合約 (即不同的成員) 時,就會偵測到衝突。

使用匯出工具

這個類別的建議使用方式如下:

  1. 使用其中一種 CanExport 多載,即可判定是否可以匯出指定的型別或型別集合。 使用符合您個人需求的一種多載。

  2. 呼叫對應的 Export 方法。

  3. Schemas 屬性擷取結構描述。