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


MetadataExporter Класс

Определение

Экспортирует сведения о описании службы в метаданные.

public ref class MetadataExporter abstract
public abstract class MetadataExporter
type MetadataExporter = class
Public MustInherit Class MetadataExporter
Наследование
MetadataExporter
Производный

Примеры

Следующий пример кода — это IWsdlExportExtension.ExportContract метод, демонстрирующий, как State свойство класса WsdlExporter используется для присоединения пользовательского System.Runtime.Serialization.XsdDataContractExporter элемента, который изменяет экспорт контрактов данных в конечной точке.

public void ExportContract(WsdlExporter exporter, WsdlContractConversionContext context)
{
// Add a custom DCAnnotationSurrogate to write data contract comments into the XSD.
object dataContractExporter;
XsdDataContractExporter xsdDCExporter;
if (!exporter.State.TryGetValue(typeof(XsdDataContractExporter), out dataContractExporter))
{
    xsdDCExporter = new XsdDataContractExporter(exporter.GeneratedXmlSchemas);
    exporter.State.Add(typeof(XsdDataContractExporter), xsdDCExporter);
}
else
{
    xsdDCExporter = (XsdDataContractExporter)dataContractExporter;
}

if (xsdDCExporter.Options == null)
    xsdDCExporter.Options = new ExportOptions();
xsdDCExporter.Options.DataContractSurrogate = new DCAnnotationSurrogate();

Комментарии

Экспорт метаданных — это процесс описания конечных точек службы и их проецирования в параллельное стандартизированное представление (обычно, но не обязательно XML), которое приложения могут получить доступ к реализации клиента, использующего службу. Чтобы экспортировать метаданные из System.ServiceModel.Description.ServiceEndpoint объектов, используйте реализацию абстрактного MetadataExporter класса. Реализация MetadataExporter создает метаданные, инкапсулированные в экземпляре System.ServiceModel.Description.MetadataSet .

Класс MetadataExporter предоставляет платформу для создания выражений политики, описывающих возможности и требования привязки конечной точки и связанных с ней операций, сообщений и ошибок. Эти выражения политики фиксируются в экземпляре System.ServiceModel.Description.PolicyConversionContext . Затем MetadataExporter реализация может присоединить эти выражения политики к метаданным, которые она создает.

MetadataExporter вызывает каждый System.ServiceModel.Channels.BindingElement, который реализует интерфейс System.ServiceModel.Description.IPolicyExportExtension в привязке ServiceEndpoint, при создании объекта PolicyConversionContext для реализации MetadataExporter. Вы можете экспортировать новые утверждения политики, реализуя IPolicyExportExtension интерфейс для пользовательских реализаций System.ServiceModel.Channels.BindingElement типа.

Тип System.ServiceModel.Description.WsdlExporter — это реализация класса, включенного MetadataExporter в Windows Communication Foundation (WCF). Тип WsdlExporter создает метаданные WSDL с присоединенными выражениями политики.

Чтобы экспортировать пользовательские метаданные WSDL или расширения WSDL для поведения конечных точек, поведения контрактов или элементов привязки в конечной точке службы, можно реализовать System.ServiceModel.Description.IWsdlExportExtension интерфейс. Тип WsdlExporter вызывается в части конечной точки службы, реализующей этот интерфейс при создании документа WSDL из этой конечной точки.

Свойства

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

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

PolicyVersion

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

State

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

Методы

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

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

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

При переопределении в производном классе экспортирует описание контракта в метаданные.

ExportEndpoint(ServiceEndpoint)

При переопределении в производном классе преобразует конечную точку в метаданные.

ExportPolicy(ServiceEndpoint)

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

GetGeneratedMetadata()

При переопределении в производном классе возвращает метаданные, созданные вызовом либо ExportContract(ContractDescription), ExportEndpoint(ServiceEndpoint)либо ExportPolicy(ServiceEndpoint).

GetHashCode()

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

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

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

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

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

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

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

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

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