为什么无法使用 DataContractSerializer 序列化对象?

2024-03-11

我正在尝试使用 DataContractSerializer 序列化类型,但出现以下异常。这不适用于 SOA 服务,但如果可能的话,我仍然想使用 DataContractSerializer。我正在使用.Net 3.5 SP1。

类型 'System.DelegateSerializationHolder+DelegateEntry' 带有数据合约名称 'DelegateSerializationHolder.DelegateEntry:http://schemas.datacontract.org/2004/07/System http://schemas.datacontract.org/2004/07/System' 预计不会。添加任何类型不 静态已知已知列表 类型 - 例如,通过使用 KnownTypeAttribute 属性或通过 将它们添加到已知类型列表中 传递给 DataContractSerializer。


你能发布你的类定义吗?

看起来您正在尝试序列化一个具有类型委托字段的类,我很确定这会让序列化器卡住。

您是否使用 DataContract / DataMember 属性来装饰您的类?在 3.5 SP1 中,序列化程序有一个默认行为,如果未使用这些属性进行标记,则默认情况下会序列化类中的所有公共内容。也许您应该使用 DataMember 属性明确标记需要序列化的每个属性,并忽略那些不应该序列化的属性。

除此之外,我们需要查看您的类定义以获得更多帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么无法使用 DataContractSerializer 序列化对象? 的相关文章

随机推荐