ASP.Net MVC模型绑定[Serializable]类

6
我有这个类
[Serializable]
public class MyObject {
    // properties omitted
}

还有这个WebAPI控制器方法:

[HttpPost]
[ResponseType(typeof(string))]
public IHttpActionResult SetMyObject(MyObject o) {
    // process object
}

但是它没有正常地与MyObject类进行模型绑定。控制器方法中的对象o完全为空,每个属性都是默认值(大多数为null)。
事实证明,这是因为MyObject上的[Serializable]注解。删除该注解可以使模型绑定再次正常工作。
有没有办法保留[Serializable]并修复模型绑定?
1个回答

9
答案在解析器上的IgnoreSerializableAttribute设置中。
((DefaultContractResolver)config.Formatters.JsonFormatter
  .SerializerSettings.ContractResolver)
    .IgnoreSerializableAttribute = true;

请查看:

ASP.NET Web API和[Serializable]类


谢谢,我已经按链接建议更改了序列化为Json.NET。 - Christiaan Maks
很高兴看到这个 ;) 祝你在Web API方面好运 - Radim Köhler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接