我一直在度假,但这里是这个问题的答案,以防止任何人下线。这个问题可能没有足够的信息来解决问题。
事实证明问题出在序列化程序中。在DataContract中将对象用作类型会产生一个我最终能够捕获的错误。错误信息实际上是非常明确的,关于如何解决这个问题,所以我会留下它。
将任何未知的静态类型添加到已知类型列表中 - 例如,使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中。 在System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(DataContract dataContract,XmlWriterDelegator的XmlWriter,对象OBJ,布尔verifyKnownType,的RuntimeTypeHandle declaredTypeHandle) 在System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.SerializeWithXsiType(XmlWriterDelegator的XmlWriter,对象OBJ,的RuntimeTypeHandle objectTypeHandle,类型objectType,Int32 declaredTypeID,RuntimeTypeHandle declaredTypeHandle,类型declaredType) ...