2016-04-19 80 views
4

我已經使用Xamarin從Visual Studio 2015更新2中創建了一個新的iPhone(iOs 9.3)應用程序。我在Mac上有Xamarin beta通道(其中包含Xcode等)Xamarin需要參考Windows.Foundation.FoundationContract

我有這樣的代碼:

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

和我上GetAsync錯誤我沒有做HttpClient的安裝的NuGet,因爲它扔了一個錯誤。

add ref to assembly Windows.Foundation.FoundationContract

已經安裝了ModernHttpClient的NuGet,但沒有使用它。 @Andrii Krupka是的,我也有using System; 我加System.Net.Http而不是Windows,但現在我有類型或命名空間無法找到。添加了對system.net和system.net.http的引用,現在它可以工作。接下來要解決的是禁用ats。將此標記爲@SushiHangover回覆謝謝大家!

+0

在命名空間中有'使用系統'行嗎? –

+0

當你嘗試安裝httpclient時,你得到了什麼錯誤? – Giorgi

回答

5

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

然後你HttpClient將工作的iOS下的優質,假設你有禁用ATS,因爲這是一個非安全HTTP鏈接... ;-)

var client = new HttpClient(); 
var response = await client.GetAsync(new Uri("http://onlinesource/json")); 

就個人:我非常喜歡ModernHttpClient @

https://github.com/paulcbetts/modernhttpclient

(跨平臺,PCL,清潔,速度更快,能夠在一個單一的請求飛躍建築物等...)

+0

是的,必須手動添加一些XML來禁用ATS。這只是一個內部測試應用程序。所以不適合商店。我現在使用'ModernHttpClient'。感謝您的幫助和建議。 –

+1

@JPHellemons沒問題,快樂'Xammie'編碼;-) – SushiHangover