Dela via


Publicera metadata

WCF-tjänster (Windows Communication Foundation) publicerar metadata genom att publicera en eller flera metadataslutpunkter. Metadata för publiceringstjänsten gör metadata tillgängliga med standardiserade protokoll, till exempel WS-MetadataExchange (MEX) och HTTP/GET-begäranden. Metadataslutpunkter liknar andra tjänstslutpunkter eftersom de har en adress, en bindning och ett kontrakt, och de kan läggas till i en tjänstvärd via konfiguration eller imperativ kod.

Publicera metadataslutpunkter

Om du vill publicera metadataslutpunkter för en WCF-tjänst måste du först lägga till ServiceMetadataBehavior tjänstens beteende i tjänsten. Genom att lägga till en System.ServiceModel.Description.ServiceMetadataBehavior instans kan tjänsten exponera metadataslutpunkter. När du lägger till System.ServiceModel.Description.ServiceMetadataBehavior tjänstbeteendet kan du sedan exponera metadataslutpunkter som stöder MEX-protokollet eller som svarar på HTTP/GET-begäranden.

System.ServiceModel.Description.ServiceMetadataBehavior Använder en WsdlExporter för att exportera metadata för alla tjänstslutpunkter i din tjänst. Mer information om hur du exporterar metadata från en tjänst finns i Exportera och importera metadata.

System.ServiceModel.Description.ServiceMetadataBehavior Lägger till en ServiceMetadataExtension instans som ett tillägg till tjänstvärden. System.ServiceModel.Description.ServiceMetadataExtension Tillhandahåller implementeringen för protokollen för metadatapublicering. Du kan också använda System.ServiceModel.Description.ServiceMetadataExtension för att hämta tjänstens metadata vid körning genom att ServiceMetadataExtension.Metadata komma åt egenskapen.

MEX-metadataslutpunkter

Om du vill lägga till metadataslutpunkter som använder MEX-protokollet lägger du till tjänstslutpunkter till tjänstvärden som använder tjänstkontraktet IMetadataExchange . WCF innehåller ett IMetadataExchange gränssnitt med det här tjänstkontraktsnamnet som du kan använda som en del av WCF-programmeringsmodellen. WS-MetadataExchange-slutpunkter, eller MEX-slutpunkter, kan använda en av de fyra standardbindningar som statiska fabriksmetoder exponerar för MetadataExchangeBindings klassen för att matcha standardbindningar som används av WCF-verktyg som Svcutil.exe. Du kan också konfigurera MEX-metadataslutpunkter med din egen anpassade bindning.

HTTP GET-metadataslutpunkter

Om du vill lägga till en metadataslutpunkt i din tjänst som svarar på HTTP/GET-begäranden anger du HttpGetEnabled egenskapen på System.ServiceModel.Description.ServiceMetadataBehavior till true. Du kan också konfigurera en metadataslutpunkt som använder HTTPS genom att ange HttpsGetEnabled egenskapen på System.ServiceModel.Description.ServiceMetadataBehavior till true.

I det här avsnittet

Anvisningar: Publicera metadata för en tjänst med hjälp av en konfigurationsfil
Visar hur du konfigurerar en WCF-tjänst för att publicera metadata så att klienter kan hämta metadata med hjälp av en WS-MetadataExchange eller en HTTP/GET-begäran med hjälp av frågesträngen ?wsdl .

Gör så här: Publicera metadata för en tjänst med hjälp av kod
Visar hur du aktiverar metadatapublicering för en WCF-tjänst i kod så att klienter kan hämta metadata med hjälp av en WS-MetadataExchange eller en HTTP/GET-begäran med hjälp av frågesträngen ?wsdl .

Referens

ServiceMetadataBehavior

IMetadataExchange

ServiceMetadataExtension

MetadataExchangeBindings

Se även