C# 4.0 HttpClient响应ReadAsAsync()不';不能完全反序列化对象

C# 4.0 HttpClient响应ReadAsAsync()不';不能完全反序列化对象,c#-4.0,asp.net-web-api,C# 4.0,Asp.net Web Api,我正在尝试使用web API客户端库使用web服务。我的问题是,当提交函数使用POST方法时,ReadAsAsync似乎不希望完全反序列化返回的对象 如果我以字符串的形式获取响应并手动反序列化,它就会工作。(我得到一条包含所有填充字段的apmsgMessage) HttpClient=GetClient(); var response=client.PostAsJsonAsync(“api/robot/Preview”,ad.)。结果; var msg=response.Content.Read

我正在尝试使用web API客户端库使用web服务。我的问题是,当提交函数使用POST方法时,ReadAsAsync似乎不希望完全反序列化返回的对象

如果我以字符串的形式获取响应并手动反序列化,它就会工作。(我得到一条包含所有填充字段的apmsgMessage)

HttpClient=GetClient();
var response=client.PostAsJsonAsync(“api/robot/Preview”,ad.)。结果;
var msg=response.Content.ReadAsStringAsync();
返回JsonConvert.DeserializeObject(msg.Result);
我最初尝试了下面的代码,该代码返回一个apmsgMessage对象,但所有字段都为null

HttpClient=GetClient();
var response=client.PostAsJsonAsync(“api/robot/Preview”,ad.)。结果;
var msg=response.Content.ReadAsAsync().Result;
返回味精;

我的问题是,为什么我的原始(PostsJSONASync)没有返回一条完全填充的apmsgMessage。ReadAsAsync有什么问题吗?

我也有同样的问题,在我的例子中,我通过从类中删除
[Serializable]
属性解决了这个问题


我不知道为什么这个属性与反序列化过程冲突,但我一去掉它,
ReadAsAsync
方法就如预期的那样工作。

你能分享返回的json的有线格式以及“apmsgMessage”类型吗?谢谢,节省了我的时间!问题作者应将此答案标记为解决方案。