无法使用HttpClient处理PCL

时间:2016-07-12 12:04:29

标签: c# xamarin xamarin.forms dotnet-httpclient

我在我的项目中尝试使用HttpClient lib非常困难。

我无法弄清楚发生了什么......

我尝试了本地URL,在线示例,甚至在Xamarin.Forms页面上也没有。它只是没有用,我无法弄清楚我在这里做错了什么。

这是代码:(取自此处,btw:https://github.com/conceptdev/xamarin-forms-samples/blob/master/HttpClient/HttpClientDemo/Earthquake/GeoNamesWebService.cs

enter image description here

第二个断点永远不会被击中。

这是我的参考资料部分:

enter image description here

我尝试手动插入System.Net.Http,就像我在一些例子中看到的那样,但它也不起作用:

enter image description here

有什么想法吗?

修改

添加更多信息。如果我使用我的本地服务器并在那里设置断点,它也永远不会被击中。它似乎永远不会离开"离开"应用程序。我认为这可能与无法添加System.Net.Http有关。但我不知道......这真的让我很紧张......

等待解决:

enter image description here

的Fiddler:

#   Result  Protocol    Host    URL Body    Caching Content-Type    Process Comments    Custom  
3675    200 HTTP    api.geonames.org    /earthquakesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&username=bertt  1,232   no-cache    application/json;charset=UTF-8  windowsformsapplication1.vshost:18544           

TARGET:

enter image description here

3 个答案:

答案 0 :(得分:2)

此时此故障排除更多,因为有很多事情可能出错。

  1. 下载Fiddler,并尝试自行输入网址,看看您是否收到回复。

  2. 清理解决方案,然后重建。

答案 1 :(得分:0)

我非常推荐检查Flurl而不是HTTPClient。

这里是nuget包[here](https://www.nuget.org/packages/Flurl.Http/

以及指向documentation

的链接

获取结果并解析它们非常简单,特别是使用Json:

T poco = await "http://api.foo.com".GetJsonAsync<T>();

答案 2 :(得分:-1)

您是否尝试过从microsoft添加nuget组件HttpClient。您需要这个才能使用PCL

https://www.nuget.org/packages/Microsoft.Net.Http/