【发布时间】:2012-05-11 14:42:39
【问题描述】:
在 WCF 服务参考中定义的相当复杂的对象RequestList 也是同一服务参考中方法的输入参数。客户端已经生成了一个 XML,所以我们需要做的就是 XmlSerialize 对象,然后反序列化客户端 xml。尝试使用给定类型创建新的 XmlSerializer 时引发异常。
XmlSerializer serializer = new XmlSerializer(typeof(RequestList));
抛出 InvalidOperationException:
Unable to generate a temporary class (result=1).
error CS0030: Cannot convert type 'ServiceReference.Parameter[]'
to 'ServiceReference.Parameter'
error CS0029: Cannot implicitly convert type 'ServiceReference.Parameter'
to'ServiceReference.Paramter[]'
数组不应该很容易序列化吗?为什么会抛出此错误,我该如何解决?
【问题讨论】:
-
可以粘贴RequestList的定义,尤其是Parameter[]字段/属性。
-
您是否检查过您的对象是否包含任何循环引用,因为这可能是它失败的原因之一。也尝试代码 XmlSerializer ser = new XmlSerializer(); ser.Serialize(obj,stream);如果你想要 xml 字符串从流中读取它
标签: c# wcf xml-serialization