Freigeben über


WsdlExporter Klasse

Definition

Wandelt Dienst-, Vertrags- und Endpunktinformationen in Metadatendokumente um.

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
Vererbung
WsdlExporter

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie Sie mithilfe der ExportEndpoint Methode eine Gruppe von MetadataSection Objekten aus den Endpunkten in einer Auflistung von Objekten generieren, die ServiceEndpoint aufgerufen werden 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

Hinweise

Verwenden Sie die WsdlExporter Klasse, um Metadaten zu transformieren ContractDescription oder ServiceEndpoint Objekte, die durch Objekte dargestellt werden MetadataSection .

Dies WsdlExporter wird in einem dreistufigen Prozess verwendet.

  1. Rufen Sie das , ExportEndpointoder ExportEndpoints die ExportContractMethode auf, und übergeben Sie die entsprechenden Parameter.

  2. Ermitteln Sie, ob exportfehler vorhanden sind, indem Sie die Basiseigenschaft Errors überprüfen.

  3. Wenn keine Fehler vorhanden sind, verwenden Sie zum GetGeneratedMetadata Abrufen einer Auflistung von MetadataSection Objekten oder zum Abrufen spezifischerer Versionen der Metadaten mithilfe der oder GeneratedXmlSchemas der GeneratedWsdlDocuments Eigenschaften.

Sie können das Exportieren von benutzerdefinierten WSDL-Erweiterungen unterstützen, indem Sie die IWsdlExportExtension Schnittstelle und benutzerdefinierte Richtlinien assertionen implementieren, indem Sie die IPolicyExportExtension Schnittstelle implementieren. Ausführliche Informationen finden Sie in der Dokumentation zu diesen Schnittstellen.

Hinweis

Dies WsdlExporter kann nur verwendet werden, um Metadaten aus ContractDescription Instanzen zu exportieren, die Common Language Runtime (CLR)-Typinformationen enthalten, z. B. eine ContractDescription Instanz, die mit der ContractDescription.GetContract Methode erstellt oder als Teil der ServiceDescriptionServiceHost Instanz erstellt wurde. Sie können das WsdlExporter nicht verwenden, um Metadaten aus ContractDescription-Instanzen zu exportieren, die aus Dienstmetadaten importiert wurden oder ohne Typinformationen erstellt wurden.

Konstruktoren

Name Beschreibung
WsdlExporter()

Initialisiert eine neue Instanz der WsdlExporter-Klasse.

Eigenschaften

Name Beschreibung
Errors

Ruft eine Auflistung von Fehlern ab, die während des Metadatenexports aufgetreten sind.

(Geerbt von MetadataExporter)
GeneratedWsdlDocuments

Ruft eine Auflistung von ServiceDescription Objekten nach dem Aufrufen einer der Exportmethoden ab.

GeneratedXmlSchemas

Ruft einen Satz von XmlSchema Objekten ab, nachdem eine der Exportmethoden aufgerufen wurde.

PolicyVersion

Gibt die Verwendete Version der WS-Policy Spezifikation an.

(Geerbt von MetadataExporter)
State

Ruft ein Wörterbuch von Objekten ab, die im Export von Metadaten verwendet werden.

(Geerbt von MetadataExporter)

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
ExportContract(ContractDescription)

Exportiert Metadaten, die nur die Vertragsinformationen aus der angegebenen Vertragsbeschreibung beschreiben.

ExportEndpoint(ServiceEndpoint)

Generiert Metadaten zum angegebenen Endpunkt.

ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName)

Generiert Metadaten zu einer Gruppe von Endpunkten aus einem angegebenen Dienst.

ExportPolicy(ServiceEndpoint)

Konvertiert Richtlinien assertionen in ein PolicyConversionContext Objekt.

(Geerbt von MetadataExporter)
GetGeneratedMetadata()

Gibt eine aufzählbare Auflistung von generierten MetadataSection Objekten zurück.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: