Compartilhar via


System.Runtime.Serialization.XsdDataContractExporter classe

Este artigo fornece observações complementares à documentação de referência para essa API.

Use a classe quando você tiver criado um serviço Web que incorpora dados representados por tipos CLR (Common Language Runtime) e quando precisar exportar esquemas XML para cada tipo a XsdDataContractExporter ser consumido por outros serviços Web. Ou seja, XsdDataContractExporter transforma um conjunto de tipos CLR em esquemas XML. (Para obter mais informações sobre os tipos que podem ser usados, consulte Tipos suportados pelo serializador de contrato de dados.) Os esquemas podem ser expostos por meio de um documento WSDL (Web Services Description Language) para uso por outras pessoas que precisam interoperar com seu serviço.

Por outro lado, se você estiver criando um serviço Web que deve interoperar com um serviço Web existente, use o XsdDataContractImporter para transformar esquemas XML e criar os tipos CLR que representam os dados em uma linguagem de programação selecionada.

O XsdDataContractExporter gera um XmlSchemaSet objeto que contém a coleção de esquemas. Acesse o conjunto de esquemas através da Schemas() propriedade.

Observação

Para gerar rapidamente arquivos de definição de esquema XML (XSD) que outros serviços da Web podem consumir, use o XsdDataContractExporter.

Exportar esquemas para um XmlSchemaSet

Para criar uma instância da XmlSchemaSet classe que contém arquivos de esquema XML, você deve estar ciente do seguinte.

O conjunto de tipos que você está exportando é registrado como um conjunto interno de contratos de dados. Assim, você pode chamar o método várias vezes para adicionar novos tipos ao conjunto de esquemas sem degradar o CanExport desempenho, pois somente os novos tipos serão adicionados ao conjunto. Durante a Export operação, os esquemas existentes são comparados com os novos esquemas que estão sendo adicionados. Se houver conflitos, uma exceção será lançada. Um conflito geralmente é detectado se dois tipos com o mesmo nome de contrato de dados, mas contratos diferentes (membros diferentes) são exportados pela mesma XsdDataContractExporter instância.

Use o exportador

Uma maneira recomendada de usar essa classe é a seguinte:

  1. Use uma das CanExport sobrecargas para determinar se o tipo especificado ou o conjunto de tipos pode ser exportado. Use uma das sobrecargas apropriadas às suas necessidades.

  2. Chame o método correspondente Export .

  3. Recupere os esquemas da Schemas propriedade.