Partager via


Publication et récupération de métadonnées sur une liaison personnalisée

Le System.ServiceModel.Description.ServiceMetadataBehavior fournit la prise en charge de l'ajout de points de terminaison de métadonnées à un service. Ces points de terminaison de métadonnées peuvent répondre aux demandes GET HTTP à une URL qui a un querystring ?wsdl et aux demandes GET WS-Transfer telles que définies dans la spécification WS-MetadataExchange (MEX). Les points de terminaison MEX implémentent le contrat System.ServiceModel.Description.IMetadataExchange.

Publication de métadonnées sur une liaison personnalisée

Les points de terminaison de métadonnées GET HTTP et les points de terminaison de métadonnées GET HTTPS sont activés en affectant à la propriété System.ServiceModel.Description.ServiceMetadataBehavior.HttpGetEnabled ou System.ServiceModel.Description.ServiceMetadataBehavior.HttpsGetEnabled la valeur true. Les liaisons pour ces points de terminaison ne peuvent pas être configurées.

Toutefois, le contrat IMetadataExchange peut être utilisé avec tout point de terminaison, y compris ceux qui utilisent des liaisons personnalisées, car les points de terminaison IMetadataExchange sont identiques à tout autre point de terminaison de service Windows Communication Foundation (WCF). Si vous savez comment modifier la configuration d'une liaison fournie par le système ou comment configurer un System.ServiceModel.Channels.CustomBinding, vous pouvez configurer une liaison pour une utilisation avec un point de terminaison IMetadataExchange.

Récupération de métadonnées sur une liaison personnalisée

Les métadonnées peuvent être récupérées à partir de points de terminaison de métadonnées Get HTTP et Get HTTPS à l'aide de demandes GET HTTP ou HTTPS standard.

Pour récupérer des métadonnées à partir d'un point de terminaison de métadonnées MEX, vous pouvez utiliser en général l'une des liaisons MEX standard prises en charge par WCF. Pour plus d'informations, consultez System.ServiceModel.Description.MetadataExchangeBindings. Le type System.ServiceModel.Description.MetadataExchangeClient et l'outil Svcutil.exe sélectionnent automatiquement l'une de ces liaisons MEX standard en fonction de l'adresse du point de terminaison de métadonnées spécifié.

Si un point de terminaison de métadonnées MEX utilise une liaison différente de l'une des liaisons MEX standard, vous pouvez configurer la liaison utilisée par le MetadataExchangeClient à l'aide de code ou en fournissant une configuration de point de terminaison de client IMetadataExchange. L'outil Svcutil.exe charge automatiquement à partir de son fichier de configuration une configuration de point de terminaison de client IMetadataExchange qui a le même nom que le modèle d'URI pour l'adresse du point de terminaison de métadonnées.

Sécurité

Lors de la publication de métadonnées sur une liaison personnalisée, assurez-vous que la liaison fournit la prise en charge de sécurité requise par vos métadonnées. Par exemple, pour empêcher la divulgation d'informations et vous assurer que votre client a le droit d'obtenir les métadonnées, vous pouvez rendre vos métadonnées et votre application plus sécurisées en configurant votre point de terminaison IMetadataExchange de façon à exiger l'authentification et le chiffrement. L'exemple Custom Secure Metadata Endpoint illustre ce scénario.

Voir aussi

Tâches

Comment : configurer une liaison WS-Metadata Exchange personnalisée
Comment : récupérer des métadonnées sur une liaison personnalisée

Concepts

Sécurisation de services
Liaisons WS-MetadataExchange