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