WsdlExporter Classe

Definizione

Converte le informazioni relative al servizio, al contratto e all'endpoint in documenti di metadati.

public ref class WsdlExporter : System::ServiceModel::Description::MetadataExporter
public class WsdlExporter : System.ServiceModel.Description.MetadataExporter
type WsdlExporter = class
    inherit MetadataExporter
Public Class WsdlExporter
Inherits MetadataExporter
Ereditarietà
WsdlExporter

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare il metodo ExportEndpoint per generare un set di oggetti MetadataSection dagli endpoint presenti in una raccolta di oggetti ServiceEndpoint chiamati myServiceEndpoints.

using System;
using System.ServiceModel;
using System.ServiceModel.Description;

namespace WsdlExporterSample
{
    class Program
    {
        static void Main(string[] args)
        {
            WsdlExporter exporter = new WsdlExporter();
            exporter.PolicyVersion = PolicyVersion.Policy15;

            ServiceEndpoint [] myServiceEndpoints = new ServiceEndpoint[2];
            ContractDescription myDescription = new ContractDescription ("myContract");
            myServiceEndpoints[0] = new ServiceEndpoint(myDescription,new BasicHttpBinding(),new EndpointAddress("http://localhost/myservice"));
            myServiceEndpoints[1] = new ServiceEndpoint(myDescription,new BasicHttpBinding(),new EndpointAddress("http://localhost/myservice"));

            // Export all endpoints for each endpoint in collection.
            foreach (ServiceEndpoint endpoint in myServiceEndpoints)
            {
                exporter.ExportEndpoint(endpoint);
            }
            // If there are no errors, get the documents.
            MetadataSet metadataDocs = null;
            if (exporter.Errors.Count != 0)
            {
                metadataDocs = exporter.GetGeneratedMetadata();
            }
        }
    }
}
Imports System.ServiceModel
Imports System.ServiceModel.Description

Module Module1

    Sub Main()
        Dim exporter As New WsdlExporter()
        exporter.PolicyVersion = PolicyVersion.Policy15

        Dim myServiceEndpoints() As ServiceEndpoint = New ServiceEndpoint(1) {}
        Dim myDescription As New ContractDescription("myContract")
        myServiceEndpoints(0) = New ServiceEndpoint(myDescription, New BasicHttpBinding(), New EndpointAddress("http://localhost/myservice"))
        myServiceEndpoints(1) = New ServiceEndpoint(myDescription, New BasicHttpBinding(), New EndpointAddress("http://localhost/myservice"))

        'Export all endpoints for each endpoint in collection.
        For Each endpoint As ServiceEndpoint In myServiceEndpoints
            exporter.ExportEndpoint(endpoint)
        Next

        'If there are no errors, get the documents.
        Dim metadataDocs As MetadataSet
        metadataDocs = Nothing

        If (exporter.Errors.Count = 0) Then
            metadataDocs = exporter.GetGeneratedMetadata()
        End If
    End Sub

End Module

Commenti

Utilizzare la classe WsdlExporter per trasformare oggetti ContractDescription o ServiceEndpoint in metadati rappresentati da oggetti MetadataSection.

La classe WsdlExporter viene utilizzata in un processo a tre passaggi.

  1. Chiamare il metodo ExportContract, ExportEndpoint o ExportEndpoints, passando i parametri appropriati.

  2. Determinare se ci sono errori di esportazione controllando la proprietà Errors di base.

  3. Se non ci sono errori, utilizzare GetGeneratedMetadata per ottenere una raccolta di oggetti MetadataSection o ottenere versioni più specifiche dei metadati utilizzando le proprietà GeneratedWsdlDocuments o GeneratedXmlSchemas.

È possibile supportare l'esportazione di estensioni WSDL personalizzate implementando l'interfaccia IWsdlExportExtension e di asserzioni di criteri personalizzate implementando l'interfaccia IPolicyExportExtension. Per informazioni dettagliate, vedere la documentazione relativa alle interfacce.

Nota

WsdlExporter può essere utilizzato solo per esportare metadati da istanze ContractDescription che contengono informazioni di tipo Common Language Runtime (CLR), ad esempio un'istanza ContractDescription creata utilizzando il metodo ContractDescription.GetContract o creata come parte di ServiceDescription per un'istanza ServiceHost. Non è possibile utilizzare WsdlExporter per esportare metadati dalle istanze ContractDescription importate dai metadati del servizio o create senza informazioni sul tipo.

Costruttori

WsdlExporter()

Inizializza una nuova istanza della classe WsdlExporter.

Proprietà

Errors

Ottiene una raccolta di errori verificatisi durante l'esportazione dei metadati.

(Ereditato da MetadataExporter)
GeneratedWsdlDocuments

Ottiene una raccolta di oggetti ServiceDescription dopo avere chiamato uno dei metodi di esportazione.

GeneratedXmlSchemas

Ottiene un set di oggetti XmlSchema dopo avere chiamato uno dei metodi di esportazione.

PolicyVersion

Indica la versione della specifica WS-Policy utilizzata.

(Ereditato da MetadataExporter)
State

Ottiene un dizionario di oggetti utilizzati nell'esportazione di metadati.

(Ereditato da MetadataExporter)

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
ExportContract(ContractDescription)

Esporta metadati che descrivono solo le informazioni del contratto dalla descrizione del contratto specificata.

ExportEndpoint(ServiceEndpoint)

Genera i metadati relativi all'endpoint specificato.

ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName)

Genera i metadati relativi a un gruppo di endpoint da un servizio specificato.

ExportPolicy(ServiceEndpoint)

Converte le asserzioni di criteri in un oggetto PolicyConversionContext.

(Ereditato da MetadataExporter)
GetGeneratedMetadata()

Restituisce una raccolta enumerabile di oggetti MetadataSection generati.

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)

Si applica a