Асинхронная десериализация JSON
Мне нужно сделать RestRequest и получить JSON, я не уверен, действительно ли мой метод является асинхронным, так как при использовании этого метода в моем пользовательском интерфейсе все еще есть небольшая остановка.
public async Task<List<MyObject>> Load()
{
var tcs = new TaskCompletionSource<List<Myobject>>();
var client = new RestSharp.RestClient("https://exampleapi.com");
client.Authenticator = OAuth1Authenticator.ForProtectedResource(
[...]);
var request = new RestSharp.RestRequest("examp.json", Method.GET);
client.ExecuteAsync(request, response =>
{
if (response.StatusCode == HttpStatusCode.OK)
{
List_ = new List<MyObject>();
List_ = JsonConvert.DeserializeObject<List<MyObject>>(response.Content);
tcs.SetResult(List_);
}
else
{
MessageBox.Show("Error");
}
});
return await tcs.Task;
}
Специально для этой строки кода:
List_ = JsonConvert.DeserializeObject<List<MyObject>>(response.Content);
это действительно асинхронно? потому что, кажется, заблокировать пользовательский интерфейс. Можете ли вы сказать мне, как я могу сделать эту функцию правильно асинхронной?