首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >序列化异常- NetDataContractSerializer

序列化异常- NetDataContractSerializer
EN

Stack Overflow用户
提问于 2012-03-20 02:50:33
回答 2查看 2.3K关注 0票数 5

当我试图将一组数据发送到我们的服务时,我得到了一个错误。但是,如果我只向集合中添加了一个项目,那么它就会产生罚款。一旦我添加了多个项,我就会得到以下错误

-- NetDataContractSerializer不支持使用'SmartTrade.Shared.Common.PaymentTerm‘类型作为只获取集合。考虑用CollectionDataContractAttribute属性或SerializableAttribute属性标记类型,或者向属性添加一个setter。

所以这里要注意的关键是,我可以用一个项目发送集合(IList<>)。我已经把MaxReceivedMessageSize和MaxArrayLength提高到了我认为更合理的程度。

有人能帮我一下吗

EN

回答 2

Stack Overflow用户

发布于 2012-03-20 18:33:42

我终于想出办法了。其中一个基类中有一个属性只有一个getter属性,并且没有setter属性。所以我不得不添加一个setter属性

票数 3
EN

Stack Overflow用户

发布于 2015-06-18 13:52:27

添加无意义的setter的另一种方法是标记要被序列化忽略的属性。

这可以通过用System.Runtime.Serialization.IgnoreDataMemberAttribute装饰您的属性来完成。

示例:

代码语言:javascript
复制
public class Whatever
{
    [IgnoreDataMember] // this won't be serialized now
    public List<string> Things
    {
        get { return _things; }
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9780766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档