有兩種方式添加服務引用,以瞭解服務:
Discover
按鈕:搜索在當前解決方案的項目。
Go
按鈕:連接到地址框中的服務並檢索元數據。
在點擊Go
之前,您需要確實已經有服務在運行。
編輯
我只是從你的截圖,你試圖連接到一個URL的net.tcp注意到。我認爲在MEX上使用http更常見。你的app.config看起來是這樣的:
<services>
<service behaviorConfiguration="WcfServiceLibrary1.Service1Behavior"
name="WcfServiceLibrary1.Service1">
<endpoint address="" binding="netTcpBinding" bindingConfiguration=""
contract="WcfServiceLibrary1.IService1">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8523/Service1" />
<add baseAddress="http://localhost:8524/Service1" />
</baseAddresses>
</host>
</service>
</services>
注意的HTTP基地址不同的端口號。然後,您可以在「添加服務參考」工具中使用「http:// localhost:8524/Service1」。您還應該能夠使用您的網絡瀏覽器連接到它。
允許通過HTTP GET(例如從瀏覽器)元數據交換,還需要通過行爲來啓用它:
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
我不知道,如果添加服務引用工具在乎這些。即使您不想允許http獲取訪問(httpGetEnabled =「False」),您仍然需要包含此行爲以啓用MEX(除非您以編程方式添加它)。
嘗試添加服務引用時是否運行該服務? – 2012-04-17 15:13:28
是的,如上所述,我已經完成了本教程中解釋的所有工作,其中包括啓動服務。 – 2012-04-17 16:07:08
沒錯,但是當你嘗試從你的新客戶端添加服務引用時,你是否有實際運行的服務? – 2012-04-17 16:09:52