当前位置: 代码迷 >> Web Service >> 用WCF返回一个Person对象,请教
  详细解决方案

用WCF返回一个Person对象,请教

热度:205   发布时间:2016-05-02 02:17:50.0
用WCF返回一个Person对象,请问?
本帖最后由 zpzhangwenhan 于 2013-11-27 17:38:26 编辑
定义一个基类Person,两个派生类,都继承Person。 
一、调用WCF的时候,如果调用GetPerson(string type) 方法的时候会出现错误。
二、调用GetChinese()或GetJapanese()能返回Chinese对象或Japanese对象,但是不能调用对象的方法,但能访问它的属性
怎么解决???

WCF服务类:

类继承关系:

------解决思路----------------------
你客户端的Japanese和Chinese对象是怎么处理的,有重写person的方法吗?

------解决思路----------------------
去了解一下KnownType这个Attribute的
------解决思路----------------------
我实在没有区分出来你的服务端实体和客户端实体。
不过为你的实体类添加无参构造函数试试
------解决思路----------------------
什么叫应该有Say()的方法,你既然是通过添加引用的方式来调用WCF,那么你如果要调用Say()方法,肯定要在WCF的服务引用中修改实体,添加Say的方法,我估计你没有这么做吧。你的数据是序列化回来的,方法的实现以及方法都不会被实例化,所以你要重新修改你本地的引用生成实体的代码。
你得确定理解序列化生成的内容是什么哦
  相关解决方案