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 true
stellen 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.