MetadataExporter Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Exporta a informação da descrição do serviço para metadados.
public ref class MetadataExporter abstract
public abstract class MetadataExporter
type MetadataExporter = class
Public MustInherit Class MetadataExporter
- Herança
-
MetadataExporter
- Derivado
Exemplos
O exemplo de código seguinte é um IWsdlExportExtension.ExportContract método que demonstra como a State propriedade da classe WsdlExporter é usada para anexar um custom System.Runtime.Serialization.XsdDataContractExporter que modifica a exportação de contratos de dados no endpoint.
public void ExportContract(WsdlExporter exporter, WsdlContractConversionContext context)
{
// Add a custom DCAnnotationSurrogate to write data contract comments into the XSD.
object dataContractExporter;
XsdDataContractExporter xsdDCExporter;
if (!exporter.State.TryGetValue(typeof(XsdDataContractExporter), out dataContractExporter))
{
xsdDCExporter = new XsdDataContractExporter(exporter.GeneratedXmlSchemas);
exporter.State.Add(typeof(XsdDataContractExporter), xsdDCExporter);
}
else
{
xsdDCExporter = (XsdDataContractExporter)dataContractExporter;
}
if (xsdDCExporter.Options == null)
xsdDCExporter.Options = new ExportOptions();
xsdDCExporter.Options.DataContractSurrogate = new DCAnnotationSurrogate();
Observações
A exportação de metadados é o processo de descrever os endpoints de serviço e projetá-los numa representação paralela e padronizada (tipicamente, mas não necessariamente XML) à qual as aplicações podem aceder para implementar um cliente que utiliza o serviço. Para exportar metadados de System.ServiceModel.Description.ServiceEndpoint objetos, use uma implementação da MetadataExporter classe abstrata. Uma MetadataExporter implementação gera metadados que são encapsulados em uma System.ServiceModel.Description.MetadataSet instância.
A MetadataExporter classe fornece um quadro para gerar expressões de políticas que descrevem as capacidades e requisitos de uma ligação de endpoint e as suas operações, mensagens e falhas associadas. Essas expressões de política são capturadas numa System.ServiceModel.Description.PolicyConversionContext instância. Uma MetadataExporter implementação pode então anexar essas expressões de política aos metadados que gera.
As MetadataExporter invocações em cada System.ServiceModel.Channels.BindingElement que implementa a interface System.ServiceModel.Description.IPolicyExportExtension na ligação de um ServiceEndpoint ao gerar um objeto PolicyConversionContext para a implementação MetadataExporter utilizar. Você pode exportar novos valores de política ao implementar a interface IPolicyExportExtension nas suas implementações personalizadas do tipo System.ServiceModel.Channels.BindingElement.
O tipo System.ServiceModel.Description.WsdlExporter é a implementação da classe MetadataExporter incluída com Windows Communication Foundation (WCF). O WsdlExporter tipo gera metadados WSDL com expressões de política anexadas.
Para exportar metadados WSDL personalizados ou extensões WSDL para comportamentos de endpoint, comportamentos contratuais ou elementos de ligação num endpoint de serviço, pode implementar a System.ServiceModel.Description.IWsdlExportExtension interface. O WsdlExporter tipo chama partes de um endpoint de serviço que implementam esta interface ao gerar o documento WSDL a partir desse endpoint.
Propriedades
| Name | Description |
|---|---|
| Errors |
Recebe uma coleção de erros que ocorreram durante a exportação dos metadados. |
| PolicyVersion |
Especifica a versão da especificação WS-Policy utilizada. |
| State |
Obtém um dicionário dos objetos usados na exportação de metadados. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| ExportContract(ContractDescription) |
Quando sobreposto numa classe derivada, exporta uma descrição do contrato para metadados. |
| ExportEndpoint(ServiceEndpoint) |
Quando sobreposto numa classe derivada, converte um endpoint em metadados. |
| ExportPolicy(ServiceEndpoint) |
Converte asserções de política em objeto PolicyConversionContext . |
| GetGeneratedMetadata() |
Quando sobrescrito numa classe derivada, devolve os metadados gerados por uma chamada para , ExportContract(ContractDescription)ExportEndpoint(ServiceEndpoint), ou ExportPolicy(ServiceEndpoint). |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |