AppFabric序列化问题

时间:2011-01-15 17:37:04

标签: caching serialization appfabric

我正在尝试使用AppFabric缓存一个类实例,但它返回带有空成员的类实例。 原因是DataContract属性。 我的班级标有[Serializable]和     [DataContract(Name =“TestClass”,Namespace =“CustomNameSpace.TestClass”)]属性。

如果我使用DataMember标记所有属性或删除DataContract属性,则解决问题。

但我不想删除DataContract attributte因为其他序列化需求(例如json或其他)或者我不想将DataMember属性添加到其他类。 (很多)

你有什么想法解决这个问题吗?

感谢。

2 个答案:

答案 0 :(得分:2)

序列化引擎的规则将DataContractAttribuee序列化优先于传统的SerializableAttribute。由于您已使用DataContractAttribute标记了您的类,因此它将尝试使用DCS。在没有为属性指定任何DataMemberAttributes的情况下在您的类上使用DataContractAttribute是完全没用的,正如您所看到的,只是伤害了您,因为序列化引擎希望您遵守规则。

使这个工作的唯一选择是将相应的DataMemberAttributes应用于您的属性或删除DataContractAttribute。

答案 1 :(得分:0)

在我的课程中,我刚刚使用了类中的[Serializable]属性,成员上没有任何内容。它就像一个带有appfabric缓存的魅力。