Sdílet prostřednictvím


Publikování metadat

Služby WCF (Windows Communication Foundation) publikují metadata publikováním jednoho nebo více koncových bodů metadat. Metadata služby publikování zpřístupňuje metadata pomocí standardizovaných protokolů, jako jsou WS-MetadataExchange (MEX) a požadavky HTTP/GET. Koncové body metadat jsou podobné jiným koncovým bodům služby v tom, že mají adresu, vazbu a kontrakt a dají se přidat do hostitele služby prostřednictvím konfigurace nebo imperativního kódu.

Publikování kocových bodů metadat

Pokud chcete publikovat koncové body metadat pro službu WCF, musíte nejprve do služby přidat ServiceMetadataBehavior chování služby. System.ServiceModel.Description.ServiceMetadataBehavior Přidání instance umožňuje službě zveřejnit koncové body metadat. Po přidání System.ServiceModel.Description.ServiceMetadataBehavior chování služby pak můžete zveřejnit koncové body metadat, které podporují protokol MEX nebo reagují na požadavky HTTP/GET.

Používá System.ServiceModel.Description.ServiceMetadataBehaviorWsdlExporter k exportu metadat pro všechny koncové body služby ve vaší službě. Další informace o exportu metadat ze služby najdete v tématu Export a import metadat.

ServiceMetadataExtension Přidá System.ServiceModel.Description.ServiceMetadataBehavior instanci jako rozšíření do hostitele služby. Poskytuje System.ServiceModel.Description.ServiceMetadataExtension implementaci protokolů publikování metadat. Můžete také použít System.ServiceModel.Description.ServiceMetadataExtension k získání metadat služby za běhu přístupem k ServiceMetadataExtension.Metadata vlastnosti.

Koncové body metadat MEX

Pokud chcete přidat koncové body metadat, které používají protokol MEX, přidejte koncové body služby do hostitele služby, který používá IMetadataExchange kontrakt služby. WCF obsahuje IMetadataExchange rozhraní s tímto názvem kontraktu služby, které můžete použít jako součást programovacího modelu WCF. Koncové body WS-MetadataExchange nebo koncové body MEX mohou použít jednu ze čtyř výchozích vazeb, které metody statické továrny zpřístupňují ve MetadataExchangeBindings třídě, aby odpovídaly výchozím vazbám používanými nástroji WCF, jako jsou Svcutil.exe. Koncové body metadat MEX můžete také nakonfigurovat pomocí vlastní vazby.

Koncové body metadat HTTP GET

Pokud chcete do služby přidat koncový bod metadat, který reaguje na požadavky HTTP/GET, nastavte HttpGetEnabled vlastnost na System.ServiceModel.Description.ServiceMetadataBehaviortruehodnotu . Můžete také nakonfigurovat koncový bod metadat, který používá PROTOKOL HTTPS nastavením HttpsGetEnabled vlastnosti na System.ServiceModel.Description.ServiceMetadataBehaviortruehodnotu .

V tomto oddílu

Postupy: Publikování metadat služby promocí konfiguračního souboru
Ukazuje, jak nakonfigurovat službu WCF pro publikování metadat, aby klienti mohli načíst metadata pomocí WS-MetadataExchange nebo požadavku HTTP/GET pomocí ?wsdl řetězce dotazu.

Postupy: Publikování metadat služby promocí kódu
Ukazuje, jak povolit publikování metadat pro službu WCF v kódu, aby klienti mohli načíst metadata pomocí WS-MetadataExchange nebo požadavku HTTP/GET pomocí ?wsdl řetězce dotazu.

Reference

ServiceMetadataBehavior

IMetadataExchange

ServiceMetadataExtension

MetadataExchangeBindings

Viz také