OData WCF连接被拒绝

时间:2012-01-24 22:24:46

标签: c# wcf odata

我刚刚编写了一个非常简单的WCF服务,该服务使用OData公开SQL Server数据库。我可以连接到服务,并使用“http:// localhost:3006”发出请求,但无法使用IP地址进行连接,即使在本地计算机上也是如此。

我按照这些基本步骤来设置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>
-->

并将其评论出来,正如您所看到的,但它没有解决问题。如何从远程计算机连接到此调试服务器?

1 个答案:

答案 0 :(得分:3)

我能够通过以下方式解决这个问题:

执行Windows Update(只需执行此操作) 更新到Visual Studio 2010 SP1 获取IIS Express应用程序 在VS中,右键单击项目节点,然后单击“使用IIS Express ...” 在IIS Express 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或其他任何其他蓬松的东西的情况下实现