我正在制作一个Xamarin.Forms应用程序,该应用程序应该从API获取JSON,然后允许显示它。我的代码如下:
public async void jsonDownload()
{
connect();
await downloadData();
}
public void connect()
{
client = new HttpClient();
client.MaxResponseContentBufferSize = 256000;
}
public async Task<List<Jsonclass>> downloadData()
{
String url = "https://my-json-server.typicode.com/kgbzoma/TestJsonFile/all";
var uri = new Uri(string.Format(url, string.Empty));
try
{
var response = await client.GetAsync(uri).ConfigureAwait(false);
response.EnsureSuccessStatusCode(); //NEVER GET HERE
var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
List = JsonConvert.DeserializeObject<List<Jsonclass>>(content);
}catch (Exception ex)
{
Debug.WriteLine(@" Error {0}", ex.Message);
}
return List;
}
问题在于代码甚至没有到达response.EnsureSuccessStatusCode(); 所以我的对象列表是空的。 在UWP版本中,它可以正常工作而没有任何问题。 这里我会得到异常:System.Net.Http.HttpRequestException,消息为发送请求时发生错误。