Где HttpContent.ReadAsAsync?



Я вижу в тоннах примеров в интернете, используя новый HttpClient объект (как часть нового веб-API) , который должен быть HttpContent.ReadAsAsync<T> метод. Однако, MSDN не упоминает этот метод, и IntelliSense не находит его.



куда он делся, и как его обойти?

629   5  

5 ответов:

похоже, что это метод расширения (в System.Net.Http. Formatting):

HttpContentExtensions Class

обновление:

PM> install-package Microsoft.сеть САШ.Веб-API.Клиент

по словам

У меня такая же проблема, так я просто получить строку JSON и десериализовать в класс:

HttpResponseMessage response = await client.GetAsync("Products");
//get data as Json string 
string data = await response.Content.ReadAsStringAsync();
//use JavaScriptSerializer from System.Web.Script.Serialization
JavaScriptSerializer JSserializer = new JavaScriptSerializer();
//deserialize to your class
products = JSserializer.Deserialize<List<Product>>(data);

Если вы уже используете Newtonsoft.Json и не хочу установить Microsoft.AspNet.WebApi.Client:

 var myInstance = JsonConvert.DeserializeObject<MyClass>(
   await response.Content.ReadAsStringAsync());

просто щелкните правой кнопкой мыши в вашем проекте go Manage NuGet Packages search for Microsoft.сеть САШ.Веб-API.Клиент, установите его и вы будете иметь доступ к методу расширения.

ударив по этому несколько раз и следуя куче предложений, если вы не найдете его доступным после установки NuGet Microsoft.сеть САШ.Веб-API.Клиент вручную добавить ссылку из папки пакеты в решении:

\Microsoft.AspNet.WebApi.Client.5.2.6\lib\net45\System.Net.Http.Formatting.dll

и не попадайте в ловушку добавления старых ссылок на System.Net.Http.Formatting.dll NuGet

Comments

    Ничего не найдено.