Hämtar metadata
Metadatahämtning är processen att begära och hämta metadata från en metadataslutpunkt, till exempel en MEX-metadataslutpunkt (WS-MetadataExchange) eller en HTTP/GET-metadataslutpunkt.
Hämtar metadata från kommandoraden med hjälp av Svcutil.exe
Du kan hämta tjänstmetadata med WS-MetadataExchange- eller HTTP/GET-begäranden med hjälp av verktyget ServiceModel-metadataverktyg (Svcutil.exe) och skicka växeln /target:metadata
och en adress. Svcutil.exe laddar ned metadata på den angivna adressen och sparar filen på disken. Svcutil.exe använder en System.ServiceModel.Description.MetadataExchangeClient instans internt och läser in från konfigurationen slutpunktskonfigurationen IMetadataExchange vars namn matchar schemat för den adress som skickas till Svcutil.exe som indata.
Hämta metadata programmatiskt med metadataExchangeClient
Windows Communication Foundation (WCF) kan hämta tjänstmetadata med hjälp av standardiserade protokoll som WS-MetadataExchange och HTTP/GET-begäranden. Båda dessa protokoll stöds av typen MetadataExchangeClient . Du hämtar tjänstmetadata med hjälp System.ServiceModel.Description.MetadataExchangeClient av typen genom att ange en adress för metadataslutpunkten och en valfri bindning. Bindningen som används av en System.ServiceModel.Description.MetadataExchangeClient instans kan vara en av standardbindningarna från den MetadataExchangeBindings statiska klassen, en bindning från användaren eller en bindning som läses in från en slutpunktskonfiguration för IMetadataExchange
kontraktet. System.ServiceModel.Description.MetadataExchangeClient Kan också matcha HTTP-URL-referenser till metadata med hjälp av HttpWebRequest typen .
Som standard är en System.ServiceModel.Description.MetadataExchangeClient instans kopplad till en enda ChannelFactory instans. Du kan ändra eller ersätta den System.ServiceModel.ChannelFactory instans som används av en System.ServiceModel.Description.MetadataExchangeClient genom att åsidosätta den GetChannelFactory virtuella metoden. På samma sätt kan du ändra eller ersätta den HttpWebRequest instans som används av en System.ServiceModel.Description.MetadataExchangeClient för att göra HTTP/GET-begäranden genom att åsidosätta den MetadataExchangeClient.GetWebRequest virtuella metoden.
I det här avsnittet
Gör så här: Använd Svcutil.exe för att ladda ned metadatadokument
Visar hur du använder Svcutil.exe för att ladda ned metadatadokument.
Anvisningar: Använda MetadataResolver för att hämta bindningsmetadata dynamiskt
Visar hur du använder System.ServiceModel.Description.MetadataResolver för att hämta bindningsmetadata dynamiskt vid körning.
Anvisningar: Använda MetadataExchangeClient för att hämta metadata
Visar hur du använder System.ServiceModel.Description.MetadataExchangeClient klassen för att ladda ned metadatafiler till ett System.ServiceModel.Description.MetadataSet objekt som innehåller System.ServiceModel.Description.MetadataSection objekt som ska skrivas till filer eller för andra användningsområden.