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
- Наследование
Примеры
В следующем примере кода показано, как использовать метод 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 используется в трехшаговом процессе.
Вызовите метод ExportContract, ExportEndpoint или ExportEndpoints, передавая соответствующие параметры.
Определите, имеются ли в наличии ошибки экспорта, проверив базовое свойство Errors.
При наличии ошибок используйте 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) |