Récupération de métadonnées

Le processus de récupération de métadonnées consiste à demander et à récupérer les métadonnées d'un point de terminaison de métadonnées, tel que WS-MetadataExchange (MEX) ou HTTP/GET.

Récupération de métadonnées à partir de la ligne de commande à l'aide de Svcutil.exe

Vous pouvez récupérer des métadonnées de service à l’aide d’un échange WS-MetadataExchange ou de requêtes HTTP/GET en utilisant l’Outil ServiceModel Metadata Utility (Svcutil.exe) et en passant le commutateur /target:metadata et une adresse. Svcutil.exe télécharge les métadonnées à l'adresse spécifiée et enregistre le fichier sur disque. Svcutil.exe utilise une instance System.ServiceModel.Description.MetadataExchangeClient en interne et charge, à partir de la configuration, la configuration de point de terminaison IMetadataExchange dont le nom correspond au schéma de l'adresse passée à Svcutil.exe en tant qu'entrée.

Récupération de métadonnées par programme à l'aide de MetadataExchangeClient

Windows Communication Foundation (WCF) récupère des métadonnées de service à l’aide des protocoles standardisés tels que WS-MetadataExchange et les requêtes HTTP/GET. Ces deux protocoles sont pris en charge par le type MetadataExchangeClient. Vous récupérez les métadonnées de service à l’aide du type System.ServiceModel.Description.MetadataExchangeClient en fournissant une adresse au point de terminaison de métadonnées et une liaison facultative. La liaison utilisée par une instance System.ServiceModel.Description.MetadataExchangeClient peut être l'une des liaisons par défaut de la classe statique MetadataExchangeBindings, une liaison fournie par l'utilisateur ou une liaison chargée à partir d'une configuration de point de terminaison pour le contrat IMetadataExchange. System.ServiceModel.Description.MetadataExchangeClient peut également résoudre des références d'URL HTTP aux métadonnées à l'aide du type HttpWebRequest.

Par défaut, une instance System.ServiceModel.Description.MetadataExchangeClient est attachée à une instance ChannelFactory unique. Vous pouvez modifier ou remplacer l'instance System.ServiceModel.ChannelFactory utilisée par System.ServiceModel.Description.MetadataExchangeClient en substituant la méthode virtuelle GetChannelFactory. De la même façon, vous pouvez modifier ou remplacer l'instance HttpWebRequest utilisée par System.ServiceModel.Description.MetadataExchangeClient pour effectuer des requêtes HTTP/GET en substituant la méthode virtuelle MetadataExchangeClient.GetWebRequest.

Dans cette section

Procédure : utiliser Svcutil.exe pour télécharger des documents de métadonnées
Indique comment utiliser Svcutil.exe pour télécharger des documents de métadonnées.

Procédure : utiliser MetadataResolver pour obtenir des métadonnées de liaison de manière dynamique
Indique comment utiliser System.ServiceModel.Description.MetadataResolver pour obtenir dynamiquement des métadonnées de liaison pendant l’exécution.

Procédure : utiliser MetadataExchangeClient pour récupérer des métadonnées
Indique comment utiliser la classe System.ServiceModel.Description.MetadataExchangeClient pour télécharger des fichiers de métadonnées dans un objet System.ServiceModel.Description.MetadataSet qui contient des objets System.ServiceModel.Description.MetadataSection à écrire dans des fichiers ou destinés à d'autres fins.

Voir aussi