小编Pet*_*ete的帖子

WebApi序列化出错

我有一个带有几个控制器的WebApi,它们会返回不同的结果.例如,一个控制器返回一个IEnumberable,另一个控制器返回一个Bar,另一个控制器返回IEnumberable等IEnumberable等,我所要做的就是:

return Ok(thething)
Run Code Online (Sandbox Code Playgroud)

一切正常,甚至复杂的嵌套对象都被序列化没有问题.

现在,客户端要求在Wrapper中返回所有结果:

public class Wrapper
{
    public bool Success { get; set; }
    public int ErrorCode { get; set; }
    public String ErrorMessage { get; set; }
    public String Referer { get; set; }
    public Object Payload { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

认为这将是微不足道的,但当我尝试从控制器返回时:

return Ok( new Wrapper { Success=true, Referer="me", Payload=thething)
Run Code Online (Sandbox Code Playgroud)

我收到序列化错误.

异常消息是:

'ObjectContent`1'类型无法序列化内容类型'application/xml的响应主体; 字符集= UTF-8' .

内部异常消息是:

输入'System.Linq.Enumerable + WhereSelectListIterator 2[[EPiServer.Find.Api.SearchHit1 [[DGTNext.Api.Data.Entities.ProductSummary,DGTNext.Api.Entities,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]],EPiServer.Find,Version = 9.6.0.3185,Culture = neutral,PublicKeyToken = 8fe83dea738b45b7],[DGTNext.Api.Data.Entities.ProductSummary,DGTNext.Api.Entities,Version = …

c# asp.net-web-api

2
推荐指数
1
解决办法
1467
查看次数

标签 统计

asp.net-web-api ×1

c# ×1