Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece comentários complementares à documentação de referência para esta API.
Use a XsdDataContractExporter classe quando você tiver criado um serviço Web que incorpore dados representados por tipos CLR (Common Language Runtime) e quando precisar exportar esquemas XML para cada tipo a 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 compatíveis com o Serializador de Contrato de Dados.) Em seguida, os esquemas podem ser expostos por meio de um documento WSDL (Linguagem de Descrição dos Serviços Web) 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 por meio da Schemas() propriedade.
Observação
Para gerar rapidamente arquivos XSD (definição de esquema XML) que outros serviços 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. Portanto, você pode chamar o CanExport método várias vezes para adicionar novos tipos ao conjunto de esquemas sem degradar o 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 com contratos diferentes (e diferentes membros), forem exportados pela mesma instância XsdDataContractExporter.
Utilize o exportador
Uma maneira recomendada de usar essa classe é a seguinte: