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


Публикация метаданных

Службы Windows Communication Foundation (WCF) публикуют метаданные путем публикации одной или нескольких конечных точек метаданных. Публикация метаданных службы позволяет получать доступ к метаданным с использованием стандартных протоколов, таких как WS-MetadataExchange (MEX) и запросы HTTP/GET. Конечные точки метаданных аналогичны другим конечным точкам служб в том, что они имеют адрес, привязку и контракт и могут быть добавлены в узел службы посредством конфигурации или принудительного кода.

Публикация конечных точек метаданных

Для публикации конечных точек метаданных для службы WCF сначала необходимо добавить в службу поведение ServiceMetadataBehavior. Добавление экземпляра System.ServiceModel.Description.ServiceMetadataBehavior позволяет службе отображать конечные точки метаданных. После добавления поведения службы System.ServiceModel.Description.ServiceMetadataBehavior можно отображать конечные точки метаданных, поддерживающие протокол MEX или отвечающие на запросы HTTP/GET.

Поведение службы System.ServiceModel.Description.ServiceMetadataBehavior использует WsdlExporter для экспорта метаданных для всех конечных точек службы. Дополнительные сведения экспортировании метаданных из службы см. раздел Экспорт и импорт метаданных.

Поведение службы System.ServiceModel.Description.ServiceMetadataBehavior добавляет в узел службы экземпляр ServiceMetadataExtension в качестве расширения. Расширение System.ServiceModel.Description.ServiceMetadataExtension обеспечивает реализацию протоколов публикации метаданных. Расширение System.ServiceModel.Description.ServiceMetadataExtension также можно использовать для получения метаданных службы во время выполнения, обратившись к свойству System.ServiceModel.Description.ServiceMetadataExtension.Metadata.

Конечные точки метаданных MEX

Для добавления конечных точек метаданных, использующих протокол MEX, следует добавить в узел службы конечные точки, которые используют контракт службы IMetadataExchange. WCF содержит интерфейс IMetadataExchange с именем этого контракта службы, который можно использовать как часть модели программирования WCF. Конечные точки WS-Metadata Exchange (или конечные точки MEX) могут использовать одну из четырех привязок по умолчанию, предоставляемых статическими методами производства в классе MetadataExchangeBindings для сопоставления с привязками по умолчанию, используемыми средствами WCF, например Svcutil.exe. Настраивать конечные точки метаданных MEX также можно с помощью пользовательской привязки.

Конечные точки метаданных HTTP GET

Чтобы добавить конечную точку метаданных в службу, которая отвечает на запросы HTTP/GET, следует задать свойству HttpGetEnabled в поведении System.ServiceModel.Description.ServiceMetadataBehavior значение true. Кроме того, можно настроить конечную точку метаданных, которая использует протокол HTTPS, задав свойству HttpsGetEnabled в поведении System.ServiceModel.Description.ServiceMetadataBehavior значение true.

В этом разделе

Справочник

ServiceMetadataBehavior

IMetadataExchange

ServiceMetadataExtension

MetadataExchangeBindings

См. также

Основные понятия

Экспорт и импорт метаданных