Condividi tramite


WsdlExporter Classe

Definizione

Converte le informazioni sul servizio, sul contratto e sull'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 ExportEndpoint metodo per generare un set di MetadataSection oggetti dagli endpoint in una raccolta di ServiceEndpoint oggetti denominati 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 WsdlExporter classe per trasformare o ServiceEndpoint oggetti ContractDescription in metadati rappresentati da MetadataSection oggetti .

Viene WsdlExporter usato in un processo in tre passaggi.

  1. Chiamare il ExportContractmetodo , ExportEndpointo ExportEndpoints passando i parametri appropriati.

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

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

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

Annotazioni

WsdlExporter Può essere usato solo per esportare metadati da ContractDescription istanze che contengono informazioni sul tipo CLR (Common Language Runtime), ad esempio un'istanza ContractDescription creata usando il ContractDescription.GetContract metodo o creata come parte di per un'istanza ServiceDescriptionServiceHost di . Non è possibile utilizzare WsdlExporter per esportare i metadati dalle istanze importate dai ContractDescription metadati del servizio o costruite senza informazioni sul tipo.

Costruttori

Nome Descrizione
WsdlExporter()

Inizializza una nuova istanza della classe WsdlExporter.

Proprietà

Nome Descrizione
Errors

Ottiene una raccolta di errori che si sono verificati durante l'esportazione dei metadati.

(Ereditato da MetadataExporter)
GeneratedWsdlDocuments

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

GeneratedXmlSchemas

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

PolicyVersion

Specifica la versione di WS-Policy specifica utilizzata.

(Ereditato da MetadataExporter)
State

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

(Ereditato da MetadataExporter)

Metodi

Nome Descrizione
Equals(Object)

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

(Ereditato da Object)
ExportContract(ContractDescription)

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

ExportEndpoint(ServiceEndpoint)

Genera metadati sull'endpoint specificato.

ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName)

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

ExportPolicy(ServiceEndpoint)

Converte le asserzioni di criteri in un PolicyConversionContext oggetto .

(Ereditato da MetadataExporter)
GetGeneratedMetadata()

Restituisce un insieme enumerabile di oggetti generati MetadataSection .

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a