Freigeben über


System.Runtime.Serialization.XsdDataContractExporter-Klasse

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

Verwenden Sie die XsdDataContractExporter-Klasse, wenn Sie einen Webdienst erstellt haben, der Daten enthält, die als Common Language Runtime (CLR)-Typen dargestellt werden, und wenn Sie für die von anderen Webdiensten zu verwendenden Typen XML-Schemas exportieren wollen, d. h. XsdDataContractExporter transformiert einen Satz von CLR-Typen in XML-Schemas. (Weitere Informationen zu den typen, die verwendet werden können, finden Sie unter Vom Serializer für den Datenvertrag unterstützte Typen.) Die Schemas können dann über ein WSDL-Dokument (Web Services Description Language) verfügbar gemacht werden, das von anderen Benutzern verwendet werden kann, die mit Ihrem Dienst zusammenarbeiten müssen.

Umgekehrt können Sie bei der Erstellung eines Webdiensts, der mit einem bestehenden Webdienst interoperieren muss, den XsdDataContractImporter verwenden, um XML-Schemas umzuwandeln und die CLR-Typen zu erstellen, die die Daten in einer ausgewählten Programmiersprache darstellen.

Der XsdDataContractExporter generiert ein XmlSchemaSet-Objekt, das die Auflistung von Schemas enthält. Der Zugriff auf den Schemasatz erfolgt über die Schemas()-Eigenschaft.

Hinweis

Um schnell XML-Schemadefinitionsdateien (XSD-Dateien) zu erstellen, die von anderen Webdiensten genutzt werden können, verwenden Sie den XsdDataContractExporter.

Exportieren von Schemas in ein XmlSchemaSet

Beim Erstellen einer Instanz der XmlSchemaSet-Klasse, die XML-Schemadateien enthält, sollten Sie Folgendes beachten:

Die Gruppe von Typen, die Sie exportieren, wird als interne Menge von Datenverträgen aufgezeichnet. Dies bedeutet, dass Sie die CanExport-Methode mehrmals aufrufen können, um der Schemagruppe neue Typen hinzuzufügen, ohne dass dies zu einer Leistungsverringerung führt, da nur die neuen Typen zur Gruppe hinzugefügt werden. Während der Export-Operation werden die vorhandenen Schemas mit den neuen Schemas verglichen, die hinzugefügt werden. Wenn es Konflikte gibt, wird eine Ausnahme ausgelöst. Ein Konflikt wird normalerweise festgestellt, wenn zwei Typen mit demselben Datenvertragsnamen, aber unterschiedlichen Verträgen (verschiedene Member) von derselben XsdDataContractExporter-Instanz exportiert werden.

Verwenden des Exporters

Es wird empfohlen, diese Klasse wie folgt zu verwenden:

  1. Verwenden Sie eine der CanExport- Überladungen, um festzustellen, ob der angegebene Typ oder die angegebene Typgruppe exportiert werden kann. Verwenden Sie eine der Überladungen, die für die Anforderungen geeignet ist.

  2. Rufen Sie die entsprechende Export-Methode auf.

  3. Rufen Sie die Schemas von der Schemas-Eigenschaft ab.