3

我正在尝试使用 DataContractSerializer 序列化一个类型,并得到以下异常。这不适用于 SOA 服务,但如果可能,我仍然希望使用 DataContractSerializer。我正在使用.Net 3.5 SP1。

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

4

2 回答 2

4

你能发布你的类定义吗?

似乎您正在尝试序列化一个具有委托类型字段的类,我很确定这会使序列化程序窒息。

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

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

于 2009-05-04T21:21:27.557 回答
1

有 3 种可能的方法可以避免http://blogs.microsoft.co.il/blogs/oshvartz/archive/2009/10/10/passing-event-handlers-over-wcf.aspx中描述的错误

于 2011-09-04T03:42:47.957 回答