【发布时间】:2014-07-07 16:31:51
【问题描述】:
您好,我有以下类层次结构:
public class SuperJob{
}
public class JobA:SuperJob{
}
public class JobB:SuperJob{
}
当我尝试反序列化 SuperJob 时,我得到了
Expecting element 'SuperJob' from namespace 'http://schemas.datacontract.org/2004/07/...'.. Encountered 'Element' with name 'JobA', namespace 'http://schemas.datacontract.org/2004/07/...'.
我的类注释如下:
[DataContract]
[KnownType(typeof(JobA))]
[KnownType(typeof(JobB))]
public class SuperJob{
}
[DataContract]
public class JobA:SuperJob{
}
[DataContract]
public class JobB:SuperJob{
}
不确定我做错了什么?有什么想法可以解决这个问题吗?
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
请发布您的反序列化代码。
-
...还有序列化代码。
-
要反序列化,我使用的是 Windows 服务总线 1.0,所以它使用该方法 msdn.microsoft.com/en-us/library/hh144211.aspx 要序列化,我只是使用 msdn.microsoft.com/en-us/library/… 将对象放在队列上
-
这是 WCF 服务吗?如果是这样,您可以发布您的服务合同吗?
标签: .net datacontractserializer datacontract servicebus known-types