Gewusst wie: Importieren von Metadaten in Dienstendpunkte
In diesem Thema wird erläutert, wie Sie Metadaten in eine Auflistung der Dienstendpunkte importieren und den unter Getting Started Sample definierten Dienst verwenden. Im Thema wird gezeigt, wie Sie eine Clientanwendung erstellen, die Metadaten aus dem Dienst importiert und anschließend dieAdd-Methode für den Dienst aufruft.
So importieren Sie Metadaten in Dienstendpunkte
Deklarieren Sie ein EndpointAddress-Objekt, und initialisieren Sie es mit dem Uniform Resource Identifier (URI) für die Metadatenaustausch-Adresse (MEX) des Dienstes.
Erstellen Sie einen MetadataExchangeClient, der die MEX-Adresse übergibt, und rufen Sie GetMetadata auf. Auf diese Weise werden die Metadaten aus dem Dienst abgerufen.
Erstellen Sie einen WsdlImporter, der die vorher abgerufenen Metadaten übergibt, und rufen Sie ImportAllContracts auf. Dadurch wird eine Auflistung der ContractDescription-Objekte erzeugt. Sie können je nach Ihren Anforderungen auch ImportAllEndpoints oder ImportAllBindings aufrufen.
Tipp
Nachdem Sie die Metadaten importiert haben, können Sie keinen Clientkanal mehr erstellen oder die Metadaten exportieren. Dies liegt daran, dass an diesem Punkt keine Typinformationen verfügbar sind. Typinformationen sind erforderlich, um direkt mit dem Dienst zu interagieren oder Metadaten zu exportieren. Um die Typinformationen zu erzeugen, müssen Sie den in den Schritten 4 und 5 gezeigten Code generieren. Alternativ dazu können Sie auch die MetadataResolver-Hilfeklasse verwenden. Weitere Informationen finden Sie unter Gewusst wie: Verwenden von MetadataResolver, um Bindungsmetadaten dynamisch zu erhalten.
Generieren Sie Typinformationen für jeden Vertrag.
Jetzt können Sie diese Informationen verwenden. Im folgenden Beispiel wird C#-Quellcode generiert.