相关疑难解决方法(0)

使JSON.NET和Serializable属性协同工作

我正在使用JSON.NET,并且在WEBAPI对象反序列化过程中遇到了一些麻烦.经过一些研究后,我发现该课程标有[Serializable].当我删除它时,反序列化就好了.

有关这方面的更多详细信息,请访问:

为什么Web API不会反序列化,但JSON.Net会?

现在谈到我使用binaryformatter来创建从这个对象类计算的哈希值的问题.但Binaryformatter要求必须将类标记为[Serializable].

您能否推荐我任何方法让两件事同时发挥作用?

asp.net-mvc serialization json json.net asp.net-web-api

17
推荐指数
2
解决办法
6154
查看次数

HttpClient 响应 ReadAsAsync() 未完全反序列化对象

我正在尝试使用 Web API 客户端库使用 Web 服务。我的问题是,当提交函数使用 POST 方法时,ReadAsAsync 似乎不想完全取消返回的对象。

如果我将响应作为字符串并手动 deserailize 它工作。(我收到一个 apmsgMessage,其中填充了所有字段)

HttpClient client = GetClient();
var response = client.PostAsJsonAsync("api/robot/Preview", ad).Result;
var msg = response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<apmsgMessage>(msg.Result);
Run Code Online (Sandbox Code Playgroud)

我最初尝试了下面的代码,它返回一个 apmsgMessage 对象,但所有字段都为空。

HttpClient client = GetClient();
var response = client.PostAsJsonAsync("api/robot/Preview", ad).Result;
var msg = response.Content.ReadAsAsync<apmsgMessage>().Result;
return msg;
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么我的原始(PostAsJsonAsync)不返回完全填充的 apmsgMessage。我在 ReadAsAsync 上做错了什么吗?

c#-4.0 asp.net-web-api

4
推荐指数
1
解决办法
5039
查看次数