c# أين يوجد HttpContent.ReadAsAsync؟




.net asp.net-web-api (4)

أرى في العديد من الأمثلة على الويب باستخدام كائن HttpClient الجديد (كجزء من Web API الجديد) أنه يجب أن يكون هناك أسلوب HttpContent.ReadAsAsync<T> . ومع ذلك ، MSDN لا يذكر هذا الأسلوب ، ولا IntelliSense العثور عليه.

أين ذهبت وكيف يمكنني العمل حوله؟


إذا كنت تستخدم Newtonsoft.Json بالفعل ولا تريد تثبيت Microsoft.AspNet.WebApi.Client :

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

فقط انقر بزر الماوس الأيمن في المشروع الخاص بك اذهب إلى بحث إدارة حزم NuGet لـ Microsoft.AspNet.WebApi.Client تثبيته وسيكون لديك الوصول إلى طريقة التمديد.


يبدو أنها طريقة ملحق (في System.Net.Http.Formatting):

HttpContentExtensions Class

تحديث:

م> تثبيت حزمة Microsoft.AspNet.WebApi.Client

استناداً إلى صفحة الحزمة System.Net.Http.Formatting NuGet ، أصبحت الحزمة System.Net.Http.Formatting الآن قديمة ويمكن العثور عليها بدلاً من ذلك في حزمة Microsoft.AspNet.WebApi.Client المتوفرة على NuGet هنا .


لدي نفس المشكلة ، لذلك أنا ببساطة أحصل على سلسلة 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);






httpcontent