当前位置: 代码迷 >> Web Service >> WCF异常SerializationException:“Element”命名空间 中的xxx并非所需元素
  详细解决方案

WCF异常SerializationException:“Element”命名空间 中的xxx并非所需元素

热度:498   发布时间:2012-04-18 15:01:59.0
WCF错误SerializationException:“Element”命名空间 中的xxx并非所需元素
问题出现场景:
部署了一个WCF,有个方法返回一个实体类Soft,
public Soft GetSoft(){
  return new Soft();
}

这个Soft定义放在通用层,也被调用方引用
using (var client = new ServiceClient()){
  var ret = client.GetSoft();
}

现在这个Soft实体类增加了一个字段,但是调用方发布了,而WCF服务还没有发布,导致调用方就出现了如题的错误,
最简单的做法就是服务端也把新字段发布出去就ok了,但是两边经常不能同时发布
求解决方案,服务端不发布新字段的情况下,这个问题如何解决?

看错误是DataContractSerializer反序列化时出现的问题

------解决方案--------------------
如果你经常会碰到不同步的现象,我的经验建议你用弱类型,但是会动你结构
就当提个思路吧
强类型必然会存在你的问题的,在设计的初期就应该考虑采用JSON,或是Xml来通吃
string Request(string content);
至于string里面的是什么就好办了,这样接口就可以稳定下来,只需要内部针对不同version做相应处理即可。
------解决方案--------------------
试试OptionalField
------解决方案--------------------
呵呵,我来晚了,接点分。
  相关解决方案