Pubblicazione di metadati

I servizi Windows Communication Foundation (WCF) pubblicano metadati tramite la pubblicazione di uno o più endpoint dei metadati. La pubblicazione di metadati del servizio rende disponibili i metadati utilizzando protocolli standard, ad esempio le richieste WS-MetadataExchange (MEX) e HTTP/GET. Gli endpoint dei metadati sono simili ad altri endpoint del servizio per indirizzo, associazione e contratto e possono essere aggiunti a un host del servizio tramite configurazione o codice imperativo.

Pubblicazione di endpoint dei metadati

Per pubblicare endpoint dei metadati per un servizio WCF, è innanzitutto necessario aggiungere al servizio il comportamento del servizio ServiceMetadataBehavior. L'aggiunta di un'istanza System.ServiceModel.Description.ServiceMetadataBehavior consente al servizio di esporre gli endpoint dei metadati. Quando viene aggiunto il comportamento del servizio System.ServiceModel.Description.ServiceMetadataBehavior, è possibile esporre gli endpoint dei metadati che supportano il protocollo MEX o che rispondono alle richieste HTTP/GET.

System.ServiceModel.Description.ServiceMetadataBehavior utilizza un WsdlExporter per esportare metadati per tutti gli endpoint del servizio nel servizio. Per ulteriori informazioni sull'esportazione di metadati da un servizio, vedere Esportazione e importazione di metadati.

System.ServiceModel.Description.ServiceMetadataBehavior aggiunge un'istanza ServiceMetadataExtension come estensione all'host del servizio. System.ServiceModel.Description.ServiceMetadataExtension fornisce l'implementazione per i metadati che pubblicano protocolli. È inoltre possibile utilizzare System.ServiceModel.Description.ServiceMetadataExtension per ottenere i metadati del servizio in fase di esecuzione accedendo alla proprietà System.ServiceModel.Description.ServiceMetadataExtension.Metadata.

Endpoint dei metadati MEX

Per aggiungere gli endpoint dei metadati che utilizzano il protocollo MEX, aggiungere gli endpoint del servizio all'host del servizio che utilizza il contratto di servizio IMetadataExchange. WCF include un'interfaccia IMetadataExchange con questo nome del contratto di servizio che è possibile utilizzare come parte del modello di programmazione WCF. Gli endpoint WS-MetadataExchange o MEX, possono utilizzare una delle quattro associazioni predefinite che i metodi factory statici espongono sulla classe MetadataExchangeBindings in modo che corrispondano alle associazioni predefinite utilizzate dagli strumenti WCF, ad esempio Svcutil.exe. È inoltre possibile configurare gli endpoint dei metadati MEX utilizzando un'associazione personalizzata.

Endpoint dei metadati HTTP GET

Per aggiungere un endpoint dei metadati al servizio che risponda alle richieste HTTP/GET, impostare la proprietà HttpGetEnabled in System.ServiceModel.Description.ServiceMetadataBehavior su true. È inoltre possibile configurare un endpoint dei metadati che utilizza HTTPS impostando la proprietà HttpsGetEnabled in System.ServiceModel.Description.ServiceMetadataBehavior su true.

Argomenti della sezione

Riferimenti

ServiceMetadataBehavior

IMetadataExchange

ServiceMetadataExtension

MetadataExchangeBindings

Vedere anche

Concetti

Esportazione e importazione di metadati