Windows Phone 模拟器不与本地 WebAPI 2 服务通信

Windows Phone Emulator does not communicate with local WebAPI 2 services

我有一个 Windows Phone 8 应用程序。它使用一系列 WebAPI 2 调用从服务器检索数据。在 Visual Studio 2013 年,我可以在 Visual Studio 中 运行 WebAPI 项目,然后通过 Visual Studio 在模拟器上 运行 应用程序,一切正常。为此,我确实必须 运行 Visual Studio 2013 作为管理员,并且我必须在 API 应用程序条目下的 IISExpress applicationhost.config 文件中添加一行,如图所示以下:

<binding protocol="http" bindingInformation="*:56952:192.168.1.59" />

这是应用程序中设置 Web 位置的代码行APIs:

public const string APIPrefix = "http://192.168.1.59:56952";

我运行这个app在WindowsPhone8.1或者Windows10手机模拟器上都没有关系,只要我是运行ning 到 Visual Studio 2013 它连接到 WebAPI 项目我在 运行ning Visual Studio。请注意,192.168.1.59 是我 运行ning Visual Studio.

开发机器的 IP 地址

当我将项目升级到 Visual Studio 2015 和 运行 时,一切都以完全相同的方式(运行 作为管理员和项目名称完全相同,所以我不需要对 applicationhost.config 文件进行更改)任何对 WebAPI returns "Not Found" 消息的调用。

知道我在 Visual Studio 2015 年缺少什么来完成这项工作吗?

所以我确实找到了解决方法。如果我将 API 前缀从:

APIPrefix = "http://192.168.1.59:56952";

APIPrefix = "http://localhost:56952";

除了 Windows 10 移动模拟器版本 10.0.14393.0 之外,它似乎在任何地方都有效。我发现在另一个线程上报告的那个版本的模拟器存在问题

Unable to access local Web API from Visual Studio 2015 WIndows 10 Phone Emulator

希望这对其他人有帮助。