Xamarin需要引用Windows.Foundation.FoundationContract

JP *_*ons 4 c# xamarin.ios dotnet-httpclient xamarin

我在Visual Studio 2015更新2中使用Xamarin创建了一个新的iPhone(iOs 9.3)应用程序.我在Mac上有Xamarin beta频道(有Xcode等)

我有这个代码:

using Windows.Web.Http;
...
private async void GetPois()
{
    var client = new HttpClient();
    var response = await client.GetAsync(new Uri("http://onlinesource/json"));
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是GetAsync我没有安装httpclient nuget,因为它抛出了一个错误.

将ref添加到程序集Windows.Foundation.FoundationContract

已经ModernHttpClient安装了nuget,但没有使用它.@Andrii Krupka是的我也using System; 添加了System.Net.Http而不是Windows现在我找不到类型或命名空间.添加了对system.net和system.net.http的引用,现在它可以工作了.接下来要解决的问题是禁用ats.将此标记为@SushiHangover的回答,谢谢大家!

Sus*_*ver 5

使用命名空间System.Net.Http而不是Windows.....

HttpClient假设你已经禁用ATS,那么你的意思在iOS下可以正常工作,因为那是一个非安全的HTTP链接... ;-)

var client = new HttpClient();
var response = await client.GetAsync(new Uri("http://onlinesource/json"));
Run Code Online (Sandbox Code Playgroud)

在个人方面:我非常喜欢ModernHttpClient@

https://github.com/paulcbetts/modernhttpclient

(跨平台,PCL,更清洁,更快,能够在单个请求中跨越建筑物等...)