如何使用 HTTP GetAsync 方法序列化-反序列化对象?

How to serialize-deserialize object using HTTP GetAsync method?

我把web app的框架从4.0升级到4.6后,发现HTTP协议库里没有ReadAsAsync()方法了,取而代之的是ReadAsAsync(),有GetAsync()。我需要使用 GetAsync().

序列化我的自定义对象

使用 ReadAsAsync() 的代码:

CustomResponse customResponse = client.ReadAsAsync("api/xxx", new StringContent(new JavaScriptSerializer().Serialize(request), Encoding.UTF8, "application/json")).Result; 

另一个基于 ReadAsAsync() 的例子

CustomResponse customResponse = await Response.Content.ReadAsAsync<CustomResponse>(); 

如何使用 GetAsync() 方法实现相同的目标?

你可以这样使用它: (您可能希望 运行 它在另一个线程上以避免等待响应)

using (HttpClient client = new HttpClient())
{
    using (HttpResponseMessage response = await client.GetAsync(page))
    {
        using (HttpContent content = response.Content)
        {
            string contentString = await content.ReadAsStringAsync();
var myParsedObject = (MyObject)(new JavaScriptSerializer()).Deserialize(contentString ,typeof(MyObject));
        }

    }
}