¿Cuál es el uso y la importancia de IMetadataExchange en WCF?¿Cuál es la importancia de IMetadataExchange en WCF?
Tengo el siguiente archivo app.config en el que no uso el punto final IMetadataExchange
, pero aún puedo crear mi cliente proxy. He leído que si no uso el punto final IMetadataExchange
, AddServiceReference no funcionará porque mi servicio no expone los metadatos. ¿Cómo está funcionando sin exponer IMetadataExchange
punto final?
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="metaDataBehavior">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name ="WCFService.Services" behaviorConfiguration="metaDataBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8090/Services/"/>
</baseAddresses>
</host>
<endpoint address="" binding="basicHttpBinding" contract="WCFService.IMathOperations"/>
</service>
</services>
</system.serviceModel>
</configuration>
+1 exactamente - sin metadatos -> no hay manera de descubrir qué ofrece el servicio, en ese caso, necesitará un cliente proxy "prefabricado" como código u otra cosa para conectarse al servicio –
+1 para "• Debe eliminarlo de los servidores de producción, de modo que un pirata informático no pueda agregar la referencia de servicio" –
. Evitar que un pirata informático agregue una referencia de servicio NO evitará que el pirata informático llame/abuse/defraude su servicio. – Mark