WsdlExporter Klass

Definition

Konverterar information om tjänster, kontrakt och slutpunkter till metadatadokument.

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

Exempel

Följande kodexempel visar hur du använder ExportEndpoint metoden för att generera en uppsättning MetadataSection objekt från slutpunkterna i en samling ServiceEndpoint objekt som kallas 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

Kommentarer

WsdlExporter Använd klassen för att transformera ContractDescription eller ServiceEndpoint objekt till metadata som representeras av MetadataSection objekt.

WsdlExporter Används i en trestegsprocess.

  1. ExportContractAnropa metoden , ExportEndpointeller och ExportEndpoints skicka lämpliga parametrar.

  2. Kontrollera om det finns några exportfel genom att kontrollera basegenskapen Errors .

  3. Om det inte finns några fel kan du använda GetGeneratedMetadata för att hämta en samling MetadataSection objekt eller hämta mer specifika versioner av metadata med hjälp GeneratedWsdlDocuments av egenskaperna eller GeneratedXmlSchemas .

Du kan stödja export av anpassade WSDL-tillägg genom att implementera IWsdlExportExtension gränssnitts- och anpassade principkontroller genom att implementera IPolicyExportExtension gränssnittet. Mer information finns i dokumentationen för dessa gränssnitt.

Note

WsdlExporter Kan endast användas för att exportera metadata från ContractDescription instanser som innehåller CLR-typinformation (Common Language Runtime), till exempel en ContractDescription instans som skapats med hjälp ContractDescription.GetContract av metoden eller skapats som en del av ServiceDescription för en ServiceHost instans. Du kan inte använda WsdlExporter för att exportera metadata från ContractDescription instanser som importerats från tjänstmetadata eller konstruerats utan typinformation.

Konstruktorer

Name Description
WsdlExporter()

Initierar en ny instans av WsdlExporter klassen.

Egenskaper

Name Description
Errors

Hämtar en samling fel som inträffade under metadataexporten.

(Ärvd från MetadataExporter)
GeneratedWsdlDocuments

Hämtar en samling ServiceDescription objekt efter att ha anropat någon av exportmetoderna.

GeneratedXmlSchemas

Hämtar en uppsättning XmlSchema objekt efter att ha anropat någon av exportmetoderna.

PolicyVersion

Anger vilken version av WS-Policy specifikation som används.

(Ärvd från MetadataExporter)
State

Hämtar en ordlista med objekt som används vid export av metadata.

(Ärvd från MetadataExporter)

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
ExportContract(ContractDescription)

Exporterar metadata som endast beskriver kontraktsinformationen från den angivna kontraktsbeskrivningen.

ExportEndpoint(ServiceEndpoint)

Genererar metadata om den angivna slutpunkten.

ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName)

Genererar metadata om en grupp slutpunkter från en angiven tjänst.

ExportPolicy(ServiceEndpoint)

Konverterar principkontroller till ett PolicyConversionContext objekt.

(Ärvd från MetadataExporter)
GetGeneratedMetadata()

Returnerar en uppräkningsbar samling genererade MetadataSection objekt.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för