c # ReadAsJsonAsync в рамках 4.5 - PullRequest
       2

c # ReadAsJsonAsync в рамках 4.5

0 голосов
/ 13 декабря 2018

Я привык работать в Net Core.Когда я звоню в RestApi, я читаю извлеченные данные следующим образом.

  HttpResponseMessage response = client.PostAsJsonAsync(url, param).Result;
    value = response.Content.ReadAsJsonAsync<R>().Result;

Теперь я вернулся в Framework 4.5 и мне нужно заменить на

ReadAsJsonAsync

Что такоелучший способ заменить его?

Спасибо

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете просто установить пакет Newtonsoft.Json NuGet и реализовать метод расширения ReadAsJsonAsync самостоятельно.Все довольно просто:

public static class HttpClientExtensions
{
    public static async Task<T> ReadAsJsonAsync<T>(this HttpContent content)
    {
        var dataAsString = await content.ReadAsStringAsync();
        return Newtonsoft.Json.JsonConvert.DeserializeObject<T>(dataAsString);
    }
}

Кстати, вы должны ждать асинхронных методов, а не блокировать свойство Result:

value = await response.Content.ReadAsJsonAsync<R>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...