Windows phone 7 让Windows Phone和HttpClient PCL正常工作

Windows phone 7 让Windows Phone和HttpClient PCL正常工作,windows-phone-7,dotnet-httpclient,printer-control-language,Windows Phone 7,Dotnet Httpclient,Printer Control Language,我正在尝试在WindowsPhone7.1项目中使用新的HttpClient PCL。该项目使用的是NuGet提供的Microsoft.Net.Http 2.1.3-beta 代码: 此代码在Windows窗体应用程序中运行良好 调试时,应用程序将停止使用HttpClient.GetAsync方法(在模拟器或设备上)。Internet正在设备/模拟器上运行 复制步骤: 。创建Windows Phone 7.1应用程序(文件->新建->项目) 。nuget命令:“安装软件包microsoft.ne

我正在尝试在WindowsPhone7.1项目中使用新的HttpClient PCL。该项目使用的是NuGet提供的Microsoft.Net.Http 2.1.3-beta

代码:

此代码在Windows窗体应用程序中运行良好

调试时,应用程序将停止使用HttpClient.GetAsync方法(在模拟器或设备上)。Internet正在设备/模拟器上运行

复制步骤:

。创建Windows Phone 7.1应用程序(文件->新建->项目)

。nuget命令:“安装软件包microsoft.net.http-pre”

。将上面的代码添加到主页


我怎样才能让它工作

要解决问题,请执行以下操作:

为WP7.1安装Microsoft Async:
安装包Microsoft.Bcl.Async

将代码更改为:

private async void GetData(){
var client=新的HttpClient();
client.BaseAddress=新Uri(“http://api.geonames.org/");
var earthquakesJson=await client.GetStringAsync(“earthquakesJson?北=44.1,南=9.9,东=22.4,西=55.2,用户名=bertt”);
...      
}

要解决问题,请执行以下操作:

为WP7.1安装Microsoft Async:
安装包Microsoft.Bcl.Async

将代码更改为:

private async void GetData(){
var client=新的HttpClient();
client.BaseAddress=新Uri(“http://api.geonames.org/");
var earthquakesJson=await client.GetStringAsync(“earthquakesJson?北=44.1,南=9.9,东=22.4,西=55.2,用户名=bertt”);
...      
}
var client = new HttpClient();
client.BaseAddress = new Uri("http://api.geonames.org/");
var resp = client.GetAsync("earthquakesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&username=bertt").Result;
var earthquakesJson = resp.Content.ReadAsStringAsync().Result;