2012-04-03 84 views

回答

6

有两种方法,当谈到与.NET串行序列化:性能

白名单:

这是recommenden方法。你用DataContract属性明确地标记你的班级。由此,只有被标记与DataMember属性的属性将被包含在输出中。

而不是做你不想序列化属性的黑名单,这是更好地做一个白名单和标记你想被序列化的所有属性。这更安全,因为它要求开发人员在引入新属性时明确声明他们希望将属性序列化。性能

黑色上市:

如果你真的想要做的黑名单,你可以使用IgnoreDataMember属性为别人指出。在这种情况下,您不需要(也不应该)用DataContract属性标记您的班级。而是用IgnoreDataMember标记要排除的属性。

我希望这有助于有点解释的选择和自己的优势/劣势。

编辑:扩展我的回答

2

有两种选择,我能想到的。

1-使用[IgnoreDataMember]属性属性尝试。

2 - 不要用标记[数据成员]属性你的财产。

希望它有帮助

相关问题