Udostępnij za pośrednictwem


WsdlExporter Klasa

Definicja

Konwertuje informacje o usłudze, kontrakcie i punkcie końcowym na dokumenty metadanych.

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

Przykłady

Poniższy przykład kodu pokazuje, jak za pomocą ExportEndpoint metody wygenerować zestaw MetadataSection obiektów z punktów końcowych w kolekcji ServiceEndpoint obiektów o nazwie 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

Uwagi

WsdlExporter Użyj klasy, aby przekształcić ContractDescription obiekty w ServiceEndpoint metadane reprezentowane przez MetadataSection obiekty.

Element WsdlExporter jest używany w procesie trzyetapowym.

  1. Wywołaj metodę ExportContract, ExportEndpointlub ExportEndpoints , przekazując odpowiednie parametry.

  2. Ustal, czy występują błędy eksportu, sprawdzając właściwość podstawową Errors .

  3. Jeśli nie ma żadnych błędów, użyj polecenia GetGeneratedMetadata , aby pobrać kolekcję MetadataSection obiektów lub uzyskać bardziej szczegółowe wersje metadanych przy użyciu GeneratedWsdlDocuments właściwości lub GeneratedXmlSchemas .

Można obsługiwać eksportowanie niestandardowych rozszerzeń WSDL przez zaimplementowanie interfejsu IWsdlExportExtension i niestandardowych asercji zasad przez zaimplementowanie interfejsu IPolicyExportExtension . Aby uzyskać szczegółowe informacje, zobacz dokumentację dla tych interfejsów.

Uwaga

Może WsdlExporter służyć tylko do eksportowania metadanych z ContractDescription wystąpień zawierających informacje o typie środowiska uruchomieniowego języka wspólnego (CLR), takie jak ContractDescription wystąpienie utworzone przy użyciu ContractDescription.GetContract metody lub utworzone w ServiceDescription ServiceHost ramach wystąpienia. Nie można użyć elementu WsdlExporter do eksportowania metadanych z wystąpień zaimportowanych z ContractDescription metadanych usługi lub skonstruowanych bez informacji o typie.

Konstruktory

WsdlExporter()

Inicjuje nowe wystąpienie klasy WsdlExporter.

Właściwości

Errors

Pobiera kolekcję błędów, które wystąpiły podczas eksportowania metadanych.

(Odziedziczone po MetadataExporter)
GeneratedWsdlDocuments

Pobiera kolekcję ServiceDescription obiektów po wywołaniu jednej z metod eksportu.

GeneratedXmlSchemas

Pobiera zestaw XmlSchema obiektów po wywołaniu jednej z metod eksportu.

PolicyVersion

Określa wersję używanej specyfikacji WS-Policy.

(Odziedziczone po MetadataExporter)
State

Pobiera słownik obiektów używanych w eksporcie metadanych.

(Odziedziczone po MetadataExporter)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
ExportContract(ContractDescription)

Eksportuje metadane opisujące tylko informacje o kontrakcie z określonego opisu kontraktu.

ExportEndpoint(ServiceEndpoint)

Generuje metadane dotyczące określonego punktu końcowego.

ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName)

Generuje metadane dotyczące grupy punktów końcowych z określonej usługi.

ExportPolicy(ServiceEndpoint)

Konwertuje asercji zasad na PolicyConversionContext obiekt.

(Odziedziczone po MetadataExporter)
GetGeneratedMetadata()

Zwraca wyliczalną kolekcję wygenerowanych MetadataSection obiektów.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy