2011-12-02 24 views
0

問題添加服務引用:添加服務引用時 - >艇員選拔地址http://localhost:8000 - >按GO無法在WCF應用程序

時出錯下載的「http://本地主機:8000」。
無法連接到遠程服務器
無連接可以作出,因爲目標機器積極地拒絕它127.0.0.1:8000
元數據包含無法解析的引用:「HTTP://本地主機:8000 /」。
沒有端點收聽http://localhost:8000/可以接受 該消息。
這通常是由不正確的地址或SOAP操作引起的。
有關更多詳細信息,請參閱InnerException(如果存在)。
無法連接到遠程服務器
無連接可以作出,因爲目標機器積極 拒絕它127.0.0.1:8000
如果該服務已在當前解決方案定義, 嘗試構建解決方案,並添加服務再次參考。

服務合同:

[ServiceContract(Namespace="http://www.thatindigogirl/2011/12")] 
public interface IHelloIndigo 
{ 
    [OperationContract] 
    void DoWork(); 
}  

服務:

public class HelloIndigo : IHelloIndigo 
{ 
    public void DoWork() 
    { 
     throw new NotImplementedException(); 
    } 
} 

主機的app.config

<system.serviceModel> 
    <behaviors> 
     <serviceBehaviors> 
      <behavior name="serviceBehavior"> 
       <serviceMetadata httpGetEnabled="true" /> 
      </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <services> 
     <service behaviorConfiguration="serviceBehavior" name="HelloIndigo"> 
      <host> 
      <baseAddresses> 
       <add baseAddress="http://localhost:8000" /> 
      </baseAddresses> 
      </host> 
      <endpoint address="HelloIndigoService" binding="basicHttpBinding" 
       name="basicHttp" contract="Host.IHelloIndigo" /> 
      <endpoint binding="mexHttpBinding" name="mex" 
       contract="IMetadataExchange" />     
     </service> 
    </services> 
</system.serviceModel> 
  • 此溶液來回重建m vs vs2008 vs vs2010在客戶端和主機兩個項目中,我將框架更改爲4.0。
  • 這些配置是由wcf配置嚮導完成的。

任何想法爲什麼客戶端項目無法找到主機端點來檢索元數據?

在此先感謝。

+3

如果您在瀏覽器中打開該地址,您是否獲得服務頁面? –

+0

根據您所看到的例外,您的服務絕對不會運行。 – Yuck

+0

是的,我運行主機,並去localhost:8000 和服務在那裏。 –

回答

0

這可能是服務沒有運行。

也可能是端口8000被阻塞。

編輯:

基於您的評論是,發現不相同的解決方案中的工作:這意味着東西是錯誤的項目類型。

Thry創建一個新的WCF項目,添加您需要的服務,然後複製您的現有代碼。

+0

iv'e試圖改變港口,但仍然沒有骰子。 –

+0

以及服務沒有運行 我的問題然後如何運行服務並在同一時間添加服務終點,如果他們在同一靈魂動力 是在這種情況下添加對主機的引用的唯一方法程序集 ,但也有問題,我不能在運行時添加服務引用。 順便說一句發現也不起作用(它並沒有找到靈魂中的服務)。 –

0
+0

不......我試圖從mex端點公開元數據 –

+0

我認爲它的/ max在最後我不確定.. –

+0

它工作嗎?如果是,請將其標記爲答案。所以,有人可以用它作爲參考。 –

-3

我想你是一回事,添加服務僅供參考,因爲當前的服務沒有運行碰上連接錯誤。

爲了拉這一招了,你需要打開兩個Visual Studio的實例,並使用一個先打開「添加服務引用」菜單。打開菜單,在其他Visual Studio中,調試應用程序以使您的服務正在運行。

服務運行時,在「添加服務引用」菜單中輸入地址,它會找到您的URL偵聽服務。只有這樣你才能選擇你想要引用的接口或類。

完成之後,您可以停止調試並且更改將生效。你可能會收到警告,說你的項目在編輯器之外被修改了,只需點擊確定,你就會很好。

+0

這讓我想起了這個:http://xkcd.com/763/ – Jonesopolis

0

我有同樣的問題,而修改現有的Web OData服務,然後嘗試在Silverlight項目,建立一個新的服務參照修訂後的服務。通過暫時註釋掉web.config文件中的身份驗證和授權部分,我能夠連接並從數據服務下載元數據到我的Silverlight項目。 Rick Moulton