Sdílet prostřednictvím


WsdlExporter Třída

Definice

Převede informace o službách, kontraktech a koncových bodech na dokumenty metadat.

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
Dědičnost
WsdlExporter

Příklady

Následující příklad kódu ukazuje, jak použít metodu ExportEndpoint k vygenerování sady MetadataSection objektů z koncových bodů v kolekci ServiceEndpoint objektů volaných 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

Poznámky

WsdlExporter Pomocí třídy můžete transformovat ContractDescription nebo ServiceEndpoint objekty na metadata reprezentovaná MetadataSection objekty.

Používá se WsdlExporter v procesu se třemi kroky.

  1. Volejte metodu ExportContract, ExportEndpointnebo ExportEndpoints metodu a předejte příslušné parametry.

  2. Zjistěte, zda existují nějaké chyby exportu kontrolou základní Errors vlastnosti.

  3. Pokud nedojde k žádným chybám, použijte GetGeneratedMetadata k získání kolekce MetadataSection objektů nebo získání konkrétnějších verzí metadat pomocí GeneratedWsdlDocuments nebo GeneratedXmlSchemas vlastností.

Export vlastních rozšíření WSDL můžete podporovat implementací IWsdlExportExtension rozhraní a kontrolních výrazů vlastních zásad implementací IPolicyExportExtension rozhraní. Podrobnosti najdete v dokumentaci k těmto rozhraním.

Poznámka:

Lze WsdlExporter použít pouze k exportu metadat z ContractDescription instancí, které obsahují informace o typu CLR (Common Language Runtime), jako ContractDescription je instance vytvořená pomocí ContractDescription.GetContract metody nebo vytvořená jako součást ServiceDescriptionServiceHost instance. Nelze použít k exportu WsdlExporter metadat z instancí importovaných z ContractDescription metadat služby nebo vytvořené bez informací o typu.

Konstruktory

Name Description
WsdlExporter()

Inicializuje novou instanci WsdlExporter třídy.

Vlastnosti

Name Description
Errors

Získá kolekci chyb, ke kterým došlo během exportu metadat.

(Zděděno od MetadataExporter)
GeneratedWsdlDocuments

Získá kolekci ServiceDescription objektů po volání jedné z metod exportu.

GeneratedXmlSchemas

Získá sadu XmlSchema objektů po volání jedné z metod exportu.

PolicyVersion

Určuje verzi používané specifikace WS-Policy.

(Zděděno od MetadataExporter)
State

Získá slovník objektů používaných při exportu metadat.

(Zděděno od MetadataExporter)

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
ExportContract(ContractDescription)

Exportuje metadata, která popisují pouze informace o smlouvě ze zadaného popisu kontraktu.

ExportEndpoint(ServiceEndpoint)

Generuje metadata o zadaném koncovém bodu.

ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName)

Generuje metadata o skupině koncových bodů ze zadané služby.

ExportPolicy(ServiceEndpoint)

Převede kontrolní výrazy zásad na PolicyConversionContext objekt.

(Zděděno od MetadataExporter)
GetGeneratedMetadata()

Vrátí výčtovou kolekci vygenerovaných MetadataSection objektů.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro