Где HttpContent.ReadAsAsync?
Я вижу в тоннах примеров в интернете, используя новый HttpClient объект (как часть нового веб-API) , который должен быть HttpContent.ReadAsAsync<T> метод. Однако, MSDN не упоминает этот метод, и IntelliSense не находит его.
куда он делся, и как его обойти?
5 ответов:
похоже, что это метод расширения (в System.Net.Http. Formatting):
обновление:
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