2012-01-24 181 views
0

我剛剛寫了一個非常簡單的WCF服務,用OData公開SQL Server數據庫。我可以連接到服務,並使用「http:// localhost:3006」發出請求,但無法使用IP地址連接,即使在本地計算機上也是如此。OData WCF連接被拒絕

我跟着這些基本步驟來建立WCF服務,並從MSDN沒有問題,增加了JSONP庫: http://www.hanselman.com/blog/CreatingAnODataAPIForStackOverflowIncludingXMLAndJSONIn30Minutes.aspx

我檢查我的防火牆日誌,沒有發現任何表明任何問題,但防火牆不該當連接到我自己的本地IPv4地址時,甚至不會有問題。 Windows防火牆被禁用,不能成爲問題。我看到這條線在web.config:

<!-- 
<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login.aspx" timeout="2880" /> 
</authentication> 
--> 

,並評論它,你可以看到,但它並沒有解決問題。我怎樣才能從遠程機器連接到這個調試服務器?

回答

2

我能這樣做來解決這個問題如下:

執行Windows更新(只是做)。
更新到Visual Studio 2010 SP1。
獲取IIS Express應用程序。
在VS中,右鍵單擊該項目節點,並點擊「使用IIS快遞......」
在IIS快遞ApplicationHost.config文件,你會在XML
網站節點下引用您的項目有一個網站列表,綁定需要更改爲:

<binding protocol="http" bindingInformation=":[preferredport]:" /> 

其中[preferredport]應該是您要使用的端口號。
在命令行中鍵入此通知httpsys監聽所有的IPv4地址:

netsh http add iplisten 0.0.0.0 

對於IPv6,使用此行:

netsh http add iplisten :: 

運行從VS2010的項目,你現在應該能夠遠程連接。

這是這麼多的麻煩少用Linux的休息...好像應該已建成的東西,因爲開發者顯然想用遠程客戶端調試......

有可能做到這一點沒有IIS Express,但我不知道你將如何使用適當的綁定來配置VS調試服務器,但是這種方法不使用Fiddler或WebMatrix或任何其他蓬鬆的東西。

+0

+1發佈您的解決方案! –