Delen via


Publicatiemetagegevens

WcF-services (Windows Communication Foundation) publiceren metagegevens door een of meer metagegevenseindpunten te publiceren. Metagegevens van de publicerende service maken de metagegevens beschikbaar met behulp van gestandaardiseerde protocollen, zoals WS-MetadataExchange (MEX) en HTTP/GET-aanvragen. Metagegevenseindpunten zijn vergelijkbaar met andere service-eindpunten omdat ze een adres, een binding en een contract hebben en ze kunnen worden toegevoegd aan een servicehost via configuratie of imperatieve code.

Eindpunten voor het publiceren van metagegevens

Als u metagegevenseindpunten voor een WCF-service wilt publiceren, moet u eerst het ServiceMetadataBehavior servicegedrag toevoegen aan de service. Door een System.ServiceModel.Description.ServiceMetadataBehavior exemplaar toe te voegen, kan uw service metagegevenseindpunten beschikbaar maken. Zodra u het System.ServiceModel.Description.ServiceMetadataBehavior servicegedrag hebt toegevoegd, kunt u metagegevenseindpunten beschikbaar maken die ondersteuning bieden voor het MEX-protocol of die reageren op HTTP-/GET-aanvragen.

Er System.ServiceModel.Description.ServiceMetadataBehavior wordt gebruikgemaakt van een WsdlExporter om metagegevens te exporteren voor alle service-eindpunten in uw service. Zie Exporteren en importeren van metagegevens voor meer informatie over het exporteren van metagegevens uit een service.

Hiermee System.ServiceModel.Description.ServiceMetadataBehavior voegt u een ServiceMetadataExtension exemplaar toe als een extensie aan uw servicehost. De System.ServiceModel.Description.ServiceMetadataExtension implementatie voor de protocollen voor het publiceren van metagegevens. U kunt de System.ServiceModel.Description.ServiceMetadataExtension metagegevens van de service ook tijdens runtime ophalen door toegang te krijgen tot de ServiceMetadataExtension.Metadata eigenschap.

Eindpunten voor MEX-metagegevens

Als u metagegevenseindpunten wilt toevoegen die gebruikmaken van het MEX-protocol, voegt u service-eindpunten toe aan uw servicehost die gebruikmaken van het IMetadataExchange servicecontract. WCF bevat een IMetadataExchange interface met deze servicecontractnaam die u kunt gebruiken als onderdeel van het WCF-programmeermodel. WS-MetadataExchange-eindpunten of MEX-eindpunten kunnen een van de vier standaardbindingen gebruiken die door de statische factory-methoden op de MetadataExchangeBindings klasse worden weergegeven, zodat deze overeenkomen met de standaardbindingen die worden gebruikt door WCF-hulpprogramma's zoals Svcutil.exe. U kunt ook MEX-metagegevenseindpunten configureren met behulp van uw eigen aangepaste binding.

HTTP GET-metagegevenseindpunten

Als u een metagegevenseindpunt wilt toevoegen aan uw service die reageert op HTTP-/GET-aanvragen, stelt u de HttpGetEnabled eigenschap in op .System.ServiceModel.Description.ServiceMetadataBehaviortrue U kunt ook een eindpunt voor metagegevens configureren dat HTTPS gebruikt door de HttpsGetEnabled eigenschap op de System.ServiceModel.Description.ServiceMetadataBehavior eigenschap in te truestellen op.

In dit gedeelte

Procedure: Metagegevens voor een service publiceren met behulp van een configuratiebestand
Demonstreert hoe u een WCF-service configureert voor het publiceren van metagegevens, zodat clients de metagegevens kunnen ophalen met behulp van een WS-MetadataExchange of een HTTP/GET-aanvraag met behulp van de ?wsdl querytekenreeks.

Procedure: Metagegevens voor een service publiceren met behulp van code
Demonstreert hoe u het publiceren van metagegevens voor een WCF-service in code inschakelt, zodat clients de metagegevens kunnen ophalen met behulp van een WS-MetadataExchange of een HTTP/GET-aanvraag met behulp van de ?wsdl querytekenreeks.

Verwijzing

ServiceMetadataBehavior

IMetadataExchange

ServiceMetadataExtension

MetadataExchangeBindings

Zie ook