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