我熟悉的Android/iOS版/ C#,但新Xamarin/VS的Mac在這裏開始工作......的HttpClient調用PCL不是在iOS的
我有我的解決方案兩個項目。 iOS應用程序項目和PCL。 希望能夠在PCL中編寫我的網絡/ REST層。
雖然我有一大堆的運行時問題。以下是我的PCL中的代碼。
public static OverwatchAPI CreateClient(HttpClient c)
{
var shared = new OverwatchAPI
{
client = c
};
return shared;
}
public async Task<Stats> GetStats(string username)
{
var stats = new Stats();
var uri = new Uri(string.Format("{0}{1}{2}", baseURL, "/stats/xbl/us/", username));
var response = await client.GetAsync(uri);
if (response.IsSuccessStatusCode)
{
var content = await response.Content.ReadAsStringAsync();
stats = JsonConvert.DeserializeObject<Stats>(content);
}
return stats;
}
在我的iOS項目中,我設置它如下。
OverwatchAPI api = OverwatchAPI.CreateClient(new HttpClient(new CFNetworkHandler()));
...
public Stats GetStats(string playerName)
{
Stats stats = api.GetStats(playerName).Result;
return stats;
}
它只是掛在api.GetStats,我想不通爲什麼還是什麼,以便進一步調查此問題關注一下。我也不知道要問什麼問題才能更好地理解它。
卡住了。任何指針都會很棒 - 謝謝!
一旦所有的字符串部分連接在一起,Uri看起來像什麼? – apineda
https://obscure-bastion-80773.herokuapp.com/stats/xbl/us/Krivanka1它可以很好的作爲捲曲 –
你的問題似乎與'.Result'。看起來像一個線程死鎖。你在哪裏調用'GetStats'方法? – apineda