Condividi tramite


Recupero dei metadati

Il recupero dei metadati è il processo di richiesta e di recupero dei metadati da un endpoint di metadati, ad esempio un endpoint di metadati WS-MetadataExchange (MEX) o un endpoint di metadati HTTP/GET.

Recupero dei metadati dalla riga di comando utilizzando Svcutil.exe

È possibile recuperare i metadati del servizio utilizzando richieste WS-MetadataExchange o HTTP/GET mediante lo strumento ServiceModel Metadata Utility Tool (Svcutil.exe) passando l'opzione /target:metadata e un indirizzo. Svcutil.exe scarica i metadati all'indirizzo specificato e salva il file su disco. Lo strumento utilizza internamente un'istanza System.ServiceModel.Description.MetadataExchangeClient e carica dalla configurazione la configurazione dell'endpoint IMetadataExchange il cui nome corrisponde allo schema dell'indirizzo passato a Svcutil.exe come input.

Recupero dei metadati a livello di codice utilizzando MetadataExchangeClient

InWindows Communication Foundation (WCF) è possibile recuperare i metadati del servizio utilizzando protocolli standard, ad esempio richieste WS-MetadataExchange e HTTP/GET. Entrambi questi protocolli sono supportati dal tipo MetadataExchangeClient. Per recuperare i metadati del servizio, utilizzare il tipo System.ServiceModel.Description.MetadataExchangeClient fornendo un indirizzo per l'endpoint dei metadati e un'associazione facoltativa. L'associazione utilizzata da un'istanza System.ServiceModel.Description.MetadataExchangeClient può essere una delle associazioni predefinite della classe statica MetadataExchangeBindings, un'associazione fornita dall'utente o un'associazione caricata dalla configurazione dell'endpoint per il contratto IMetadataExchange. System.ServiceModel.Description.MetadataExchangeClient può inoltre risolvere i riferimenti dell'URL HTTP ai metadati utilizzando il tipo HttpWebRequest.

Per impostazione predefinita, un'istanza System.ServiceModel.Description.MetadataExchangeClient è collegata a una sola istanza ChannelFactory. È possibile modificare o sostituire l'istanza System.ServiceModel.ChannelFactory utilizzata da System.ServiceModel.Description.MetadataExchangeClient eseguendo l'override del metodo virtuale GetChannelFactory. Analogamente, è possibile modificare o sostituire l'istanza HttpWebRequest utilizzata da System.ServiceModel.Description.MetadataExchangeClient per le richieste HTTP/GET eseguendo l'override del metodo virtuale System.ServiceModel.Description.MetadataExchangeClient.GetWebRequest(System.Uri,System.String,System.String).

Argomenti della sezione

Vedere anche

Riferimenti

MetadataExchangeClient