2013-10-24 29 views
25

我正在嘗試從.net編寫WEB API並嘗試從我的Android應用程序查詢來自sql server數據庫的一些數據。無法在VS調試模式下使用ip:port訪問WEB API

我有網頁api編寫,它在調試模式下運行良好。

我的問題是我注意到該應用程序的網址是localhost:port,它運行良好。 但是,當我嘗試將其更改爲MYIP:port (eg. http:192.168.X.1234)MYHOSTNAME:port (eg win7home:1234)時,這會給我Bad Request - Invalid Hostname

我知道我可以將它部署到IIS和我的IIS設置,但我只是想知道它如何在調試模式下不工作?

有沒有辦法讓我在調試模式下運行它,並在Android上同時測試,而不是每次我想進行更改時都要部署它?

回答

14

都安東和馬修的答案向我指出了正確的方向

所以這就是我所做的

  1. 在管理員模式下運行視覺工作室

  2. 更改了綁定的協議,並允許進入建議的方向 http://johan.driessen.se/posts/Accessing-an-IIS-Express-site-from-a-remote-computer

    但之後,我具有不可用的服務(503)錯誤

  3. 所以我也跟着這樣的: IIS Express Enable External Request - 503 僅增加了端口協議和端口:ip協議,

比它的工作原理都在我的機器的瀏覽器和我的手機上。

不太不太清楚爲什麼需要在第3步 - 我是(需要本地主機URL爲VS指向和IP地址用於從另一臺計算機訪問)假設

+0

謝謝!我只想補充說,您需要重新啓動IIS Express才能進行更改。最簡單的方法是右鍵單擊IIS Express圖標並單擊退出。該圖標將消失,因此無法以此方式重新啓動。相反,只需從Visual Studio啓動Web應用程序的調試會話即可。它將重新啓動IIS。作爲獎勵,您可以通過右鍵單擊IIS圖標,在「查看站點」下找到您的Web應用程序,然後確定您的應用程序的IP地址現在可以到達。它應該在那裏顯示你的綁定變化。 – strangeluck

+0

我偶然發現了使用自託管的Web API的這個問題。還有一些更多的相關信息在http://stackoverflow.com/questions/16642651/self-hosted-owin-and-urlacl – Jedidja

+2

iis(不是iis express)呢? – Kira

30

如果您在調試模式下運行它,我假設您使用IIS-Express。

默認情況下,IIS-Express僅綁定到localhost

爲了規避這種情況,您可以打開位於以下位置的IIS-Express應用程序配置文件:C:\Users\<username>\My Documents\IISExpress\config\applicationhost.config並修改站點的綁定信息。

變化

<binding protocol="http" bindingInformation="*:55284:localhost" /> 

<binding protocol="http" bindingInformation="*:55284:*" /> 

您還可以在更改後重新啓動IIS-Express的。

6

當我想要共享我的本地主機IIS時,我遇到了同樣的問題,所以有些人可以鍵入我的機器名或IP並連接到我的Web應用程序實例。所以如果這是你需要的時候http://johan.driessen.se/posts/Accessing-an-IIS-Express-site-from-a-remote-computer。它適用於我的Silverlight和MVC應用程序。我甚至設置了斷點,並且它們從遠程機器中被擊中。

+0

和你有太多使用IIS快遞 – Anton

+0

和請不要忘記你的機器上的安全。以上文章節省了我很多時間,因爲我沒注意安全策略 – Anton

相關問題