Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les services Windows Communication Foundation (WCF) publient des métadonnées en publiant un ou plusieurs points de terminaison de métadonnées. Les métadonnées du service de publication rendent les métadonnées disponibles à l’aide de protocoles standardisés, tels que WS-MetadataExchange (MEX) et les requêtes HTTP/GET. Les points de terminaison de métadonnées sont similaires à d’autres points de terminaison de service en ce qu’ils ont une adresse, une liaison et un contrat, et peuvent être ajoutés à un hôte de service par le biais de la configuration ou du code impératif.
Publication de points d'accès de métadonnées
Pour publier des points de terminaison de métadonnées pour un service WCF, vous devez d’abord ajouter le comportement de service ServiceMetadataBehavior au service. L’ajout d’une System.ServiceModel.Description.ServiceMetadataBehavior instance permet à votre service d’exposer des points de terminaison de métadonnées. Une fois que vous avez ajouté le comportement du System.ServiceModel.Description.ServiceMetadataBehavior service, vous pouvez exposer des points de terminaison de métadonnées qui prennent en charge le protocole MEX ou qui répondent aux requêtes HTTP/GET.
System.ServiceModel.Description.ServiceMetadataBehavior utilise un WsdlExporter pour exporter les métadonnées de tous les points de terminaison de votre service. Pour plus d’informations sur l’exportation de métadonnées à partir d’un service, consultez Exportation et importation de métadonnées.
System.ServiceModel.Description.ServiceMetadataBehavior ajoute une instance ServiceMetadataExtension en tant qu'extension à votre hôte de service. Le System.ServiceModel.Description.ServiceMetadataExtension fournit l’implémentation des protocoles de publication de métadonnées. Vous pouvez également utiliser le System.ServiceModel.Description.ServiceMetadataExtension pour obtenir les métadonnées du service à l’exécution en accédant à la ServiceMetadataExtension.Metadata propriété.
Points de terminaison de métadonnées MEX
Pour ajouter des points de terminaison de métadonnées qui utilisent le protocole MEX, ajoutez des points de terminaison de service à votre hôte de service qui utilisent le contrat de service IMetadataExchange. WCF inclut une IMetadataExchange interface avec ce nom de contrat de service que vous pouvez utiliser dans le cadre du modèle de programmation WCF. Les points de terminaison WS-MetadataExchange, ou les points de terminaison MEX, peuvent utiliser l’une des quatre liaisons par défaut que les méthodes de fabrique statiques exposent sur la classe MetadataExchangeBindings pour correspondre aux liaisons par défaut utilisées par les outils WCF tels que Svcutil.exe. Vous pouvez également configurer les points de terminaison des métadonnées MEX en utilisant votre propre configuration personnalisée.
Points de terminaison de métadonnées HTTP GET
Pour ajouter un point de terminaison de métadonnées à votre service qui répond aux requêtes HTTP/GET, réglez la propriété HttpGetEnabled sur System.ServiceModel.Description.ServiceMetadataBehavior à true. Vous pouvez également configurer un point de terminaison de métadonnées qui utilise HTTPS en définissant la propriété HttpsGetEnabled sur System.ServiceModel.Description.ServiceMetadataBehavior à true.
Dans cette section
Guide pratique pour publier des métadonnées pour un service à l’aide d’un fichier de configuration Montre comment configurer un service WCF pour publier des métadonnées afin que les clients puissent récupérer les métadonnées à l’aide d’un WS-MetadataExchange ou d’une requête HTTP/GET à l’aide de la ?wsdl chaîne de requête.
Guide pratique pour publier des métadonnées pour un service à l’aide du code Montre comment activer la publication de métadonnées pour un service WCF dans le code afin que les clients puissent récupérer les métadonnées à l’aide d’un WS-MetadataExchange ou d’une requête HTTP/GET à l’aide de la ?wsdl chaîne de requête.