Klasse System.Runtime.Serialization.XsdDataContractExporter

Opmerking

In dit artikel vindt u aanvullende opmerkingen in de referentiedocumentatie voor deze API.

Gebruik de XsdDataContractExporter klasse wanneer u een webservice hebt gemaakt die gegevens bevat die worden vertegenwoordigd door CLR-typen (Common Language Runtime) en wanneer u XML-schema's moet exporteren voor elk type dat door andere webservices moet worden gebruikt. Dat wil gezegd, XsdDataContractExporter transformeert een set CLR-typen in XML-schema's. (Zie Typen die worden ondersteund door de Serializer van het gegevenscontract voor meer informatie over de typen die kunnen worden gebruikt.) De schema's kunnen vervolgens worden weergegeven via een WSDL-document (Web Services Description Language) voor gebruik door anderen die met uw service moeten samenwerken.

Als u echter een webservice maakt die moet samenwerken met een bestaande webservice, gebruikt u het XsdDataContractImporter om XML-schema's te transformeren en de CLR-typen te maken die de gegevens in een geselecteerde programmeertaal vertegenwoordigen.

Hiermee XsdDataContractExporter wordt een XmlSchemaSet object gegenereerd dat de verzameling schema's bevat. Toegang krijgen tot de reeks schemas door middel van de Schemas() eigenschap.

Opmerking

Als u snel XSD-bestanden (XML-schemadefinitie) wilt genereren die andere webservices kunnen gebruiken, gebruikt u de XsdDataContractExporter.

Schema's exporteren naar een XmlSchemaSet

Als u een exemplaar wilt maken van de XmlSchemaSet klasse die XML-schemabestanden bevat, moet u rekening houden met het volgende.

De set typen die u exporteert, worden vastgelegd als een interne set gegevenscontracten. U kunt de CanExport methode dus meerdere keren aanroepen om nieuwe typen toe te voegen aan de schemaset zonder de prestaties te verminderen, omdat alleen de nieuwe typen worden toegevoegd aan de set. Tijdens de Export bewerking worden de bestaande schema's vergeleken met de nieuwe schema's die worden toegevoegd. Als er conflicten zijn, wordt er een uitzondering gegenereerd. Er wordt meestal een conflict gedetecteerd als twee typen met dezelfde naam van het gegevenscontract, maar verschillende contracten (verschillende leden) door hetzelfde XsdDataContractExporter exemplaar worden geëxporteerd.

De exporteur gebruiken

Een aanbevolen manier om deze klasse te gebruiken is als volgt:

  1. Gebruik een van de CanExport overbelastingen om te bepalen of het opgegeven type of de typeverzameling geëxporteerd kan worden. Gebruik een van de overbelastingen die geschikt zijn voor uw vereisten.

  2. Roep de bijbehorende Export methode aan.

  3. Haal de schema's op uit de Schemas eigenschap.