Pubblicazione e recupero di metadati su un'associazione personalizzata
La classe System.ServiceModel.Description.ServiceMetadataBehavior fornisce supporto per l'aggiunta di endpoint dei metadati a un servizio. Tali endpoint dei metadati possono rispondere a richieste GET HTTP a un URL che presenta un querystring ?wsdl
e a richieste GET WS-Transfer come definito nella specifica WS-MetadataExchange (MEX). Gli endpoint MEX implementano il contratto System.ServiceModel.Description.IMetadataExchange.
Pubblicazione di metadati su un'associazione personalizzata
Gli endpoint di metadati GET di HTTP e di HTTPS vengono attivati impostando le proprietà ServiceMetadataBehavior.HttpGetEnabled o ServiceMetadataBehavior.HttpsGetEnabled su true
. Non è possibile configurare le associazioni per questi endpoint.
Il contratto IMetadataExchange, tuttavia, può essere utilizzato con qualsiasi endpoint, compresi gli endpoint che utilizzano binding personalizzati, poiché gli endpoint IMetadataExchange sono identici a qualsiasi altro endpoint del servizio Windows Communication Foundation (WCF). Se si sa come modificare la configurazione di un'associazione fornita dal sistema o come configurare un elemento System.ServiceModel.Channels.CustomBinding, è possibile configurare un'associazione da utilizzare con un endpoint IMetadataExchange.
Recupero di metadati su un'associazione personalizzata
I metadati possono essere recuperati da endpoint di metadati Get HTTP e Get HTTPS utilizzando richieste GET HTTP o HTTPS standard.
Per recuperare metadati da un endpoint di metadati MEX è generalmente possibile utilizzare uno dei binding MEX standard supportati in WCF. Per ulteriori informazioni, vedere System.ServiceModel.Description.MetadataExchangeBindings. Il tipo System.ServiceModel.Description.MetadataExchangeClient e lo strumento Svcutil.exe consentono di selezionare automaticamente una di queste associazioni MEX standard in base all'indirizzo dell'endpoint dei metadati specificato.
Se un endpoint di metadati MEX utilizza un'associazione diversa dalle associazioni MEX standard, è possibile configurare l'associazione utilizzata da MetadataExchangeClient mediante codice o fornendo una configurazione dell'endpoint del client IMetadataExchange. Lo strumento Svcutil.exe carica automaticamente dal file di configurazione una configurazione dell'endpoint del client IMetadataExchange che ha lo stesso nome dello schema URI per l'indirizzo dell'endpoint dei metadati.
Sicurezza
Quando si pubblicano metadati su un'associazione personalizzata, accertarsi che l'associazione fornisca il supporto di sicurezza necessario per i metadati. Per impedire la diffusione di informazioni, ad esempio, e fare in modo che il client sia autorizzato a ottenere i metadati, è possibile rendere più protetti i metadati e l'applicazione configurando l'endpoint IMetadataExchange perché richieda l'autenticazione e la crittografia. L'endpoint di metadati protetto personalizzato di esempio illustra questo scenario.