Поделиться через


WsdlExporter Класс

Определение

Преобразует сведения о службе, контракте и конечной точке в документы метаданных.

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
Наследование
WsdlExporter

Примеры

В следующем примере кода показано, как использовать ExportEndpoint метод для создания набора MetadataSection объектов из конечных точек в коллекции ServiceEndpoint объектов, называемых 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

Комментарии

WsdlExporter Используйте класс для преобразования ContractDescription или ServiceEndpoint объектов в метаданные, представленные объектамиMetadataSection.

Он WsdlExporter используется в трехэтапном процессе.

  1. ExportContractВызовите метод или ExportEndpointExportEndpoints метод, передав соответствующие параметры.

  2. Определите наличие ошибок экспорта, проверив базовое Errors свойство.

  3. Если нет ошибок, используйте GetGeneratedMetadata коллекцию объектов или получить более конкретные версии метаданных MetadataSection с помощью GeneratedWsdlDocuments или GeneratedXmlSchemas свойств.

Вы можете поддерживать экспорт пользовательских расширений WSDL, реализуя IWsdlExportExtension интерфейс и утверждения пользовательской политики, реализуя IPolicyExportExtension интерфейс. Дополнительные сведения см. в документации по этим интерфейсам.

Замечание

Можно WsdlExporter использовать только для экспорта метаданных из экземпляров, содержащих сведения о ContractDescription типе среды CLR, например ContractDescription экземпляр, созданный с помощью ContractDescription.GetContract метода или созданный как часть экземпляра для экземпляра ServiceDescriptionServiceHost . Нельзя использовать WsdlExporter для экспорта метаданных из экземпляров, импортированных из ContractDescription метаданных службы или созданных без сведений о типе.

Конструкторы

Имя Описание
WsdlExporter()

Инициализирует новый экземпляр класса WsdlExporter.

Свойства

Имя Описание
Errors

Возвращает коллекцию ошибок, возникших во время экспорта метаданных.

(Унаследовано от MetadataExporter)
GeneratedWsdlDocuments

Возвращает коллекцию ServiceDescription объектов после вызова одного из методов экспорта.

GeneratedXmlSchemas

Возвращает набор XmlSchema объектов после вызова одного из методов экспорта.

PolicyVersion

Указывает версию используемой спецификации WS-Policy.

(Унаследовано от MetadataExporter)
State

Получает словарь объектов, используемых в экспорте метаданных.

(Унаследовано от MetadataExporter)

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
ExportContract(ContractDescription)

Экспортирует метаданные, описывающие только сведения о контракте из указанного описания контракта.

ExportEndpoint(ServiceEndpoint)

Создает метаданные указанной конечной точки.

ExportEndpoints(IEnumerable<ServiceEndpoint>, XmlQualifiedName)

Создает метаданные о группе конечных точек из указанной службы.

ExportPolicy(ServiceEndpoint)

Преобразует утверждения политики в PolicyConversionContext объект.

(Унаследовано от MetadataExporter)
GetGeneratedMetadata()

Возвращает перечисленную коллекцию созданных MetadataSection объектов.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к