【问题标题】:Work with Web API and Windows Phone使用 Web API 和 Windows Phone
【发布时间】:2013-04-20 09:06:02
【问题描述】:

我正在开发一个由两个元素组成的解决方案:一个发布一些 REST 服务的 Web 服务器和一个使用这些服务的移动客户端。 为了实现 REST 服务,我使用了 Web API 技术。

当我在调试中启动 Web 项目时,一切正常。我可以通过指向 localhost:63954/api 来使用这些服务。一个奇怪的事实:如果我将“localhost”更改为“127.0.0.1”或机器的 LAN 地址 192.168.xxx.xxx,服务器将不再响应!

然后,当我启动在虚拟化模拟器中运行的 Windows Phone 客户端时,它无法连接到 Web 服务器!即使这两个组件在同一台机器上运行。 显然,在 Windows Phone 中我不能使用“localhost”,因为手机的 localhost 就是手机本身。所以我尝试使用 192.168.xxx.xxx 地址,它是运行 Web 服务的机器的地址。但是手机模拟器无法访问webservice。

我需要在 Visual Studio 2012 中运行 Web 服务器,因为我需要对其进行调试,并使其可以从 Windows Phone 模拟器访问,但我不知道该怎么做。你能帮助我吗?有什么想法吗?

非常感谢, 里卡多。

编辑:通过点击此处找到的链接 (Binding IIS Express to an IP Address) 并关闭我的防火墙,我可以在 VS12 之外运行 Web 应用程序,并且可以从网络中的其他电脑访问它,也可以从 WP 模拟器访问它.这可能是一种解决方法,但我无法以这种方式在 VS 中调试 REST 服务,这并不好......

【问题讨论】:

  • 为什么你的端口是 93564? TCP 不支持超过 65535 的任何内容
  • VisualStudio2012 选择了一个随机端口,我在复制端口时出错了...真正的端口是 63954。对于这个错误,我深表歉意,感谢 Filip 发现了这一点。
  • 好的。可以从浏览器打开192.168.xxx.xxx地址吗?当你这样做时会发生什么?
  • 不。当我这样做时,我收到一条消息,上面写着:“找不到网页”。如果我使用 127.0.0.1 而不是 localhost,我会收到相同的消息。这对我来说很奇怪......编辑:错误代码是 HTTP 400 Bad Request
  • 感谢您的帮助。无论如何,它并没有带来解决方案。如果我输入 nslookup,我会得到: 名称:localhost 地址:127.0.0.1 我已经实现了跟踪器并尝试调试。但是当我尝试通过 127.0.0.1 或通过相应的 192.168.xxx.xxx 地址到达 WS 时,跟踪器不会记录任何内容。似乎请求没有到达服务器。我尝试使用 Firefox REST 插件来测试服务,我收到以下消息:错误请求 - 无效主机名 HTTP 错误 400。请求主机名无效。

标签: windows-phone-7 visual-studio-2012 asp.net-web-api iis-express lan


【解决方案1】:

Windows Phone 8 模拟器在您的网络上作为单独的机器工作,具有自己的 IP 地址和配置。因此,为了让模拟器能够访问您的服务,您需要确保您尝试访问的端口已为入站连接打开。

【讨论】:

  • 我知道模拟器是不同的机器。实际上,我已经使用 Windows Phone 和 Java Web 服务开发了其他解决方案,托管在 Tomcat Apache 上。在所有这些项目中,我对 WindowsPhone-REST 对没有任何问题。所以我认为我在 Visual Studio 2012 中缺少一些配置。我不明白为什么 localhost 工作(从浏览器)以及为什么 127.0.0.1 或相应的 192.168.xxx.xxx 地址不...
【解决方案2】:

正如你提到的windows phone在你的客户端机器上单独运行,解决这个问题的一种方法是,将你机器的IP地址绑定到Web Api,这样就可以使用机器的IP地址访问Web api。你可以使用 Microsoft Webmatrix 将 ip 地址绑定到项目。 因此,您可以使用 IP 地址访问 Web Api。希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-14
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多