【问题标题】:Windows Phone 8 Emulator: Access localhostWindows Phone 8 模拟器:访问本地主机
【发布时间】:2012-10-20 09:37:38
【问题描述】:

我使用 VS 2012 默认模板创建了 MVC4 移动应用程序。它在使用http://localhost/mvcapplication1/ 的桌面浏览器中运行良好,但是当我尝试在 WP8 Emulator 浏览器中运行相同的应用程序时,它无法运行并显示消息“我们在显示此页面时遇到问题”。我也尝试使用 IP 地址(127.0.0.1),但仍然没有运气。请告诉我如何使用 WP8 Emulator 浏览器连接到 localhost?

【问题讨论】:

  • 尝试主机的IP地址。
  • 它给出了拒绝访问的消息。
  • @Brijen 你可以给this 看看。 (确保您可以首先连接到互联网)。要确定的另一件事是该端口是否未被防火墙阻止。但是,是的,其他答案是正确的。您必须使用内部 IP,而不是 localhost

标签: localhost windows-phone windows-phone-8


【解决方案1】:

Windows Phone 8 模拟器实际上是一个完整的虚拟机,具有自己的内部 IP 地址。
因此,localhost 表示(虚拟)电话,而不是您的 PC。

要连接到主机 PC,您需要输入其内部 IP 地址。

您还需要配置 IIS Express 和防火墙以接受来自其他计算机的连接。

【讨论】:

  • 我可以从其他计算机桌面浏览器访问相同的 URL,因此假设防火墙设置正确。您知道 WP8 Emulator 的任何特定设置吗?另外,我没有使用 IIS Express,但仍然使用 netsh http add urlacl url=http://<<machine-name>>:8080/ user=everyone 配置了 IIS Express 仍然无法从 WP8 浏览
  • 您的桌面是否加入了公司域? Emulator 将是一台未加入域的机器,您需要为桌面机器添加 IPSec 边界异常,以便 Emulator 访问它。
  • 我能够通过从 IIS Express 配置中剥离“localhost”并允许使用防火墙的端口来使其工作。但现在我已经硬编码了开发机器的 IP 地址。这如何与源代码控制和多个开发人员一起工作?
  • 经过 4 天的故障排除、研究和摆弄,您的回答解决了我的问题。非常非常感谢。
  • 为了清楚起见,我必须使用 Windows phone Emulator VM 正在使用的 IP,而不是 PC 的 IP
【解决方案2】:

我也在寻找这个问题的答案,发现现在有一个来自微软的官方答案:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj684580%28v=vs.105%29.aspx

【讨论】:

    【解决方案3】:

    您可以安装 fiddler 并阅读有关如何为 windows 模拟器配置 fiddler 的说明。

    这篇文章对我来说效果很好: http://blogs.msdn.com/b/wsdevsol/archive/2013/06/05/configure-the-windows-phone-8-emulator-to-work-with-fiddler.aspx

    配置完成后,模拟器会自动使用 fiddler 作为代理服务器,你的本地主机也应该可以在模拟器上正常工作。

    记得在启动模拟器之前先启动fiddler来路由流量,否则它不会工作。您还可以监控 Windows 模拟器发出的 http/https 请求。

    【讨论】:

      【解决方案4】:

      尝试使用您的 IP 而不是使用 (localhost)

      1- 从开始菜单打开命令提示符 2-编写ipconfig 3-您会在 ipv4 地址旁边找到您的 IP 地址 如果它不起作用,请尝试 MSDN 中的这些额外步骤

      为对 IIS Express 的 HTTP 请求创建防火墙例外 在 Windows 开始屏幕中,搜索 Windows 防火墙。单击以运行程序。 在 Windows 防火墙屏幕上,单击高级设置。 在具有高级安全性的 Windows 防火墙屏幕上,选择入站规则。然后单击新建规则。 在新建入站规则向导的规则类型页面上,选择端口。然后单击下一步。 在协议和端口页面上,在特定本地端口字段中输入 IIS Express 正在使用的端口号。然后点击下一步。

      在操作页面上,选择允许连接。然后单击下一步。 在配置文件页面上,选择私有,如果适用,选择域。不要选择公开。然后单击下一步。 在名称页面上,键入规则的名称 - 例如,用于测试的本地 Web 服务。然后点击完成。

      【讨论】:

        猜你喜欢
        • 2012-01-13
        • 1970-01-01
        • 1970-01-01
        • 2014-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-16
        相关资源
        最近更新 更多