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) |