首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么时候/为什么我不应该在DataContracts上使用DataContracts?

什么时候/为什么我不应该在DataContracts上使用DataContracts?
EN

Stack Overflow用户
提问于 2012-01-16 07:07:56
回答 2查看 8K关注 0票数 14

我理解属性属性IsReference是什么以及它正在做什么。但是我不明白为什么/什么时候我应该而不是使用它。什么时候使用IsReference=true是个坏主意?

如果我的wcf服务是.net to .net,那么而不是 set IsReference=true有充分的理由吗?

EN

回答 2

Stack Overflow用户

发布于 2012-05-07 08:21:11

避免使用IsReference至少有两个原因:

首先,存在性能损失,因为所有序列化程序都必须对要序列化的每个对象执行标识检查。

其次,DataContractJsonSerializer不能序列化使用IsReference属性标记的对象。因此,如果需要同时支持Xml和Json,那么就不能使用它。

除此之外,我看不出有什么理由不使用它。毕竟,它确实节省了一些宝贵的带宽!

票数 11
EN

Stack Overflow用户

发布于 2012-01-17 15:29:20

我认为不应该发生什么坏事。如果图形包含多个指向同一个对象实例的链接,则将此属性设置为true将减少XML大小。

http://zamd.net/2008/05/20/datacontract-serializer-and-isreference-property/

但是,我不知道为什么默认情况下没有启用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8876745

复制
相关文章

相似问题

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