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, ExportEndpoint или ExportEndpoints, передавая соответствующие параметры.

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

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

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

Примечание

WsdlExporter может использоваться только для экспорта метаданных из экземпляров ContractDescription, в которых содержатся сведения о типе среды CLR, например, экземпляр ContractDescription, созданный с помощью метода ContractDescription.GetContract или созданный как часть ServiceDescription для экземпляра ServiceHost. Нельзя использовать 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)

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