Следующий код никогда не возвращает никакого значения, я изучаю Xamarin Forms и использую переносимую библиотеку классов на VS2017, всякий раз, когда я запускаю приложение, оно зависает на этой строкеvar content = await _client.GetStringAsync (_url);
и никогда ничего не возвращает, пока приложение не выбросит исключение (TaskCanceledException). Я искал Google по всему миру и не могу найти решения ...
Это не работает как на iOS, так и на Android, я также тестировал Shared вместо PCL, и это также не работает. Работа. .. Я установил Microsoft.Net.Http на все проекты (PCL, Android и iOS)
Я новичок, и сейчас я учусь потреблять спокойный API.
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace Posts
{
public partial class MainPage : ContentPage
{
private const string _url ="https://jsonplaceholder.typicode.com/posts";
private HttpClient _client = new HttpClient();
public MainPage()
{
InitializeComponent();
}
protected override async void OnAppearing()
{
var content = await _client.GetStringAsync(_url);
var posts = JsonConvert.DeserializeObject<List<Post>>(content);
postsListView.ItemsSource = new ObservableCollection<Post>(posts);
base.OnAppearing();
}
void OnAdd(object sender, EventArgs e)
{
}
void OnUpdate(object sender, EventArgs e)
{
}
void OnDelete(object sender, EventArgs e)
{
}
}
public class Post
{
public int Id { get; set; }
public string Title { get; set; }
public string Body { get; set; }
}
}