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


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)

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