IMetadataExchange在WCF中的用途和重要性如何?WCF中IMetadataExchange的重要性是什么?
我有以下app.config文件,其中我不使用IMetadataExchange
端点,但我仍然能够创建我的代理客户端。我已阅读,如果我不使用IMetadataExchange
端点,AddServiceReference将不起作用,因为我的服务不公开元数据。如何在不暴露IMetadataExchange
端点的情况下工作?
<?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正确 - 没有元数据 - >没办法发现服务提供了什么,在这种情况下,您需要一个“预制”的代理客户端作为代码或其他连接到服务的代码 – 2009-10-22 09:01:07
+1 “•您应该从生产服务器中删除它,以便黑客无法添加服务参考” – 2013-03-17 22:29:42
防止黑客添加服务参考不会阻止黑客调用/滥用/欺骗您的服务。 – Mark 2015-08-25 21:04:24