2011-08-31 89 views
0

我在使用RESTful Web服務在本地網絡上工作時遇到問題。直到最近他們工作得很好,我不知道有什麼改變,我希望有人可以給我一個檢查的清單,以確保我所有的設置都很好。我創建了一個非常簡單的測試應用程序,以查看它是我的代碼還是我的網絡設置本身。我創建了Visual Studio 2010的一個C#的WinForms解決方案,並加入到這個窗體的onload處理:爲什麼不能在遠程網絡機器上訪問WCF Restful服務?

ServiceHost host = new ServiceHost(typeof(BasicService)); 
string baseUri = "http://" Environment.MachineName + ":876/testing"; 
ServiceEndpoint point = host.AddServiceEndpoint(typeof(IBasicService), new  WebHttpBinding(), baseUri); 
point.Behaviors.Add(new WebHttpBehavior()); 
host.Open(); 

服務只是返回一個字符串。我能夠在本地機器上打開我的瀏覽器,並看到返回的字符串很好。我曾經能夠在本地網絡上的其他計算機/設備上看到這一點,但是現在當我嘗試從遠程計算機上收到502錯誤代碼時。是否有可能我需要某種證書或網絡設置切換?

回答

0

它不會工作,因爲「本地主機」總是意味着當前的機器。當遠程系統嘗試訪問它時,它將真正訪問自己!

您需要使用與運行服務的計算機的外部可見IP地址關聯的DNS名稱。

+0

我的家庭網絡上沒有DNS服務器,我只想在那裏暴露服務。當它工作時,我使用了Environment.MachineName來替代localhost,它只是在一天內莫名其妙地停下來。 –

+0

您需要使用機器名稱或IP地址 –

相關問題