Ответ 1
Бывший читает асинхронно из потока, а затем использует поток потока пулов для десериализации строки JSON для объекта.
Последний считывает асинхронно из потока, но синхронно преобразует строку JSON в объект, в потоке, который возобновился после ожидания асинхронного чтения из потока.
Внутри, оба метода будут использовать Json.NET для анализа данных, поскольку метод расширения HttpContentExtensions.ReadAsAsync<T>
будет внутренне вызывать JsonMediaTypeFormatter
, который использует Json.NET.
Лично я использую последнее, поскольку я не вижу никакой пользы в выполнении сериализации в фоновом потоке. Но проверьте свой код и посмотрите, работает ли это для вас.