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

Ach*_*him 5 c# asp.net-mvc model-binding xmlserializer asp.net-web-api

我正在使用新的WebApi,它是MVC4 beta的一部分.我有以下课程:

public class Voucher
{
    public string Id { get; set; }
    public string TableId { get; set; }
    public Product[] Products { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

我的控制器看起来像这样:

public class VouchersController : ApiController
{
    public Voucher PostVoucher(Voucher voucher)
    {
          //....
    }
}
Run Code Online (Sandbox Code Playgroud)

在客户端,我使用一个序列化数据XmlSerializer.输出看起来像预期的并且Products数组是序列化的.如果我发布的数据,并把一个破发点中PostVoucher的方法,我得到的数据IdTableId,但Productsnull.什么提示我可能做错了什么?

car*_*ira 6

ASP.NET Web API Beta中的复杂类型和XML的模型绑定/反序列化存在问题.解决此问题的一种方法是"禁用"模型绑定,并为此操作选择"反序列化路径".http://blogs.msdn.com/b/carlosfigueira/archive/2012/02/27/disabling-model-binding-on-asp-net-web-apis-beta.aspx上的帖子展示了如何做到这一点.

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