Abrufen von Metadaten

Das Abrufen von Metadaten ist der Prozess, Metadaten von einem Metadatenendpunkt, wie einem MEX-Medadatenendpunkt (WS-MetadataExchange) oder einem HTTP/GET-Metadatenendpunkt, anzufordern und abzurufen.

Abrufen von Metadaten mit Svcutil.exe in der Befehlszeile

Sie können Dienstmetadaten mit WS-MetadataExchange- oder HTTP/GET-Anforderungen unter Verwendung des ServiceModel Metadata Utility-Tool (Svcutil.exe)-Tools und durch Weitergabe des /target:metadata-Switches und einer Adresse abrufen. Svcutil.exe lädt die Metadaten bei der angegebenen Adresse herunter und speichert die Datei auf Datenträger. Svcutil.exe verwendet intern eine System.ServiceModel.Description.MetadataExchangeClient-Instanz und lädt die IMetadataExchange-Endpunktkonfiguration, deren Name mit dem Schema der an Svcutil.exe als Eingabe weitergegebenen Adresse übereinstimmt, aus der Konfiguration.

Programmgesteuertes Abrufen von Metadaten mit dem MetadataExchangeClient

Windows Communication Foundation (WCF) kann Dienstmetadaten mithilfe standardisierter Protokolle, wie z. B. WS-MetadataExchange- und HTTP/GET-Anforderungen, abrufen. Beide Protokolle werden vom MetadataExchangeClient-Typ unterstützt. Dienstmetadaten werden mit dem System.ServiceModel.Description.MetadataExchangeClient-Typ abgerufen, indem eine Adresse für den Metadatenendpunkt und eine optionale Bindung angegeben werden. Die von einer System.ServiceModel.Description.MetadataExchangeClient-Instanz verwendete Bindung kann eine der Standardbindungen aus der statischen MetadataExchangeBindings-Klasse, eine vom Benutzer angegebene Bindung oder eine aus einer Endpunktkonfiguration für den IMetadataExchange-Vertrag geladene Bindung sein. Der System.ServiceModel.Description.MetadataExchangeClient kann auch HTTP-URL-Verweise auf Metadaten mit dem HttpWebRequest-Typ auflösen.

Standardmäßig wird eine System.ServiceModel.Description.MetadataExchangeClient-Instanz an eine einzelne ChannelFactory-Instanz gebunden. Sie können die System.ServiceModel.ChannelFactory-Instanz, die von einem System.ServiceModel.Description.MetadataExchangeClient verwendet wird, durch Überschreiben der virtuellen GetChannelFactory-Methode ändern oder ersetzen. Ebenso können Sie die HttpWebRequest-Instanz, die von einem System.ServiceModel.Description.MetadataExchangeClient zur Erstellung von HTTP/GET-Anforderungen verwendet wird, durch Überschreiben der virtuellen System.ServiceModel.Description.MetadataExchangeClient.GetWebRequest(System.Uri,System.String,System.String)-Methode ändern oder ersetzen.

In diesem Abschnitt

Siehe auch

Verweis

MetadataExchangeClient