C# MVC4 webapi中的反序列化/模型绑定不适用于数组

C# MVC4 webapi中的反序列化/模型绑定不适用于数组,c#,asp.net-mvc,model-binding,xmlserializer,asp.net-web-api,C#,Asp.net Mvc,Model Binding,Xmlserializer,Asp.net Web Api,我正在使用新的WebApi,它是MVC4测试版的一部分。我有以下课程: public class Voucher { public string Id { get; set; } public string TableId { get; set; } public Product[] Products { get; set; } } 我的控制器如下所示: public class VouchersController : ApiController { pub

我正在使用新的WebApi,它是MVC4测试版的一部分。我有以下课程:

public class Voucher
{
    public string Id { get; set; }
    public string TableId { get; set; }
    public Product[] Products { get; set; } 
}
我的控制器如下所示:

public class VouchersController : ApiController
{
    public Voucher PostVoucher(Voucher voucher)
    {
          //....
    }
}

在客户端,我使用
XmlSerializer
对数据进行序列化。输出看起来像预期的,并且
产品
数组被序列化。如果我发布数据并在
postDeceducer
方法中放置断点,我将获得
Id
TableId
的数据,但是
产品
。有什么提示我可能做错了吗?

ASP.NET Web API测试版中复杂类型和XML的模型绑定/反序列化存在问题。解决此问题的一种方法是“禁用”模型绑定,并为此操作选择“反序列化路径”。上的帖子展示了如何做到这一点


请注意,这是beta版的一个已知问题,将在下一个(RC)版本中修复。

只是一个问题,您是否在两个类(凭证和产品)中都添加了可序列化属性?您不需要
[Serializable]
属性,没有任何属性的类(即POCO)工作正常。谢谢您。我拼命想弄明白为什么我的操作很乐意接受JSON,但未能对XML进行反序列化。