MetadataExporter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Esporta informazioni descrittive del servizio nei metadati.
public ref class MetadataExporter abstract
public abstract class MetadataExporter
type MetadataExporter = class
Public MustInherit Class MetadataExporter
- Ereditarietà
-
MetadataExporter
- Derivato
Esempio
Nell'esempio di codice seguente viene utilizzato un metodo IWsdlExportExtension.ExportContract che illustra il modo in cui la proprietà State della classe WsdlExporter viene utilizzata per associare un oggetto System.Runtime.Serialization.XsdDataContractExporter personalizzato che modifica l'esportazione di contratti dati nell'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();
Commenti
L'esportazione dei metadati è il processo utilizzato per descrivere gli endpoint di un servizio e per proiettarli in una rappresentazione parallela standardizzata (generalmente, ma non necessariamente, XML) a cui le applicazioni possono accedere per implementare un client che utilizza il servizio. Per esportare i metadati da oggetti System.ServiceModel.Description.ServiceEndpoint, utilizzare un'implementazione della classe astratta MetadataExporter. Un'implementazione MetadataExporter genera metadati che sono incapsulati in un'istanza di System.ServiceModel.Description.MetadataSet.
La classe MetadataExporter fornisce un framework per la generazione di espressioni di criteri che descrivono le funzionalità e i requisiti di un'associazione di endpoint e le operazioni, i messaggi e gli errori pertinenti. Queste espressioni di criteri vengono acquisite in un'istanza di System.ServiceModel.Description.PolicyConversionContext. Un'implementazione di MetadataExporter può quindi collegare tali espressioni di criteri ai metadati che genera.
MetadataExporter chiama ogni System.ServiceModel.Channels.BindingElement che implementa l'interfaccia System.ServiceModel.Description.IPolicyExportExtension nell'associazione di un ServiceEndpoint durante la generazione di un oggetto PolicyConversionContext che deve essere utilizzato dall'implementazione di MetadataExporter. È possibile esportare nuove asserzioni di criteri implementando l'interfaccia IPolicyExportExtension nelle implementazioni personalizzate del tipo System.ServiceModel.Channels.BindingElement.
Il System.ServiceModel.Description.WsdlExporter tipo è l'implementazione della MetadataExporter classe inclusa in Windows Communication Foundation (WCF). Il tipo WsdlExporter genera metadati WSDL con allegate le espressioni di criteri.
Per esportare metadati WSDL personalizzati o estensioni WSDL per i comportamenti degli endpoint, i comportamenti del contratto o gli elementi di associazione in un endpoint del servizio, è possibile implementare l'interfaccia System.ServiceModel.Description.IWsdlExportExtension. Il tipo WsdlExporter richiama parti di un endpoint del servizio che implementano questa interfaccia in caso di generazione del documento WSDL da tale endpoint.
Proprietà
Errors |
Ottiene una raccolta di errori verificatisi durante l'esportazione dei metadati. |
PolicyVersion |
Indica la versione della specifica WS-Policy utilizzata. |
State |
Ottiene un dizionario di oggetti utilizzati nell'esportazione di metadati. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
ExportContract(ContractDescription) |
Quando viene sottoposto a override in una classe derivata, esporta la descrizione di un contratto in metadati. |
ExportEndpoint(ServiceEndpoint) |
Quando viene sottoposto a override in una classe derivata, converte un endpoint in metadati. |
ExportPolicy(ServiceEndpoint) |
Converte le asserzioni di criteri in un oggetto PolicyConversionContext. |
GetGeneratedMetadata() |
Quando viene sottoposto a override in una classe derivata, restituisce i metadati generati da una chiamata a ExportContract(ContractDescription), ExportEndpoint(ServiceEndpoint) o ExportPolicy(ServiceEndpoint). |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |