C# RESTful调用在Windows 8.1移动应用程序(VS 2013)中不起作用,但在其他情况下起作用

C# RESTful调用在Windows 8.1移动应用程序(VS 2013)中不起作用,但在其他情况下起作用,c#,rest,mobile,windows-8.1,win-universal-app,C#,Rest,Mobile,Windows 8.1,Win Universal App,我使用这段代码调用一个简单的REST服务。它可以从ASP.NET应用程序、XAML应用程序运行,但不能从Windows Moble应用程序运行。我正在Windows 8.1操作系统上使用VS-2013(更新4)。你知道哪里不对吗 更新:此问题仅适用于Windows应用商店应用程序,而不适用于手机应用程序(我使用Univeral应用程序瞄准Windows和手机)。手机应用程序工作正常。必须为Windows emulator做些什么 “有人试图以其所禁止的方式访问插座 访问权限 Windows Ap

我使用这段代码调用一个简单的REST服务。它可以从ASP.NET应用程序、XAML应用程序运行,但不能从Windows Moble应用程序运行。我正在Windows 8.1操作系统上使用VS-2013(更新4)。你知道哪里不对吗

更新:此问题仅适用于Windows应用商店应用程序,而不适用于手机应用程序(我使用Univeral应用程序瞄准Windows和手机)。手机应用程序工作正常。必须为Windows emulator做些什么

“有人试图以其所禁止的方式访问插座 访问权限


Windows App Emulator和Phone Emulator使用不同的操作系统设置连接到网络。我认为这是REST呼叫在Phone Emulator中工作,而不是在App Emulator中工作的主要原因

这是有道理的,因为手机仿真器不应该依赖于我的机器设置,而应用程序可以。但我不确定应用程序仿真器和手机仿真器使用的是什么特定设置

请分享你的发现


谢谢!!

重新启动防火墙服务()


在调试windows应用商店应用程序时,我已经多次看到这种情况。只需重新启动“windows防火墙”“windows服务刚刚为我修复了它。我甚至不需要重新启动应用程序。

此外,您可以通过使用WebAPI项目使用包装器rest服务来解决这个问题。这绕过了Windoes应用程序模拟器使用VPN的局限性
HttpResponseMessage responseMessage;
System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
client.BaseAddress = new Uri("http://myRESTURL/url/");
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/xml"));
 System.Net.Http.Headers.HttpRequestHeaders headers = client.DefaultRequestHeaders;

        try
        {
            responseMessage = await client.GetAsync("");

            if (responseMessage.IsSuccessStatusCode)
            {
                String version = await responseMessage.Content.ReadAsStringAsync();
            }
        }
        catch (Exception e)
        {
            exceptionString = e.InnerException.ToString();
        }