如何使用 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));
}
}
}
我把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));
}
}
}