序列化问题

pandaohua 2007-12-20 11:16:27
WebService定义了父子类
父类
[Serializable]
public class FatherClass
{
private string id;
public string Id
{
get { return id;}
set { id = value; }
}
}
子类
[Serializable]
public class ChildClass : FatherClass
{
private string childname;
public string Childname
{
get { return childname; }
set { childname = value; }
}
}
WebService定义
[XmlInclude(typeof(FatherClass))]
[XmlInclude(typeof(ChildClass))]

[WebMethod]
public FatherClassHelloStus(FatherClass obj)
{
ChildClass child = (ChildClass)obj;
....
return child;
}
这样定义发布使用就没有问题,但是采用如下的定义方式,就会出现序列化错误,请问有什么方法解决呢?
[WebMethod]
public FatherClassHelloStus(FatherClass obj)
{
ChildClass child = (ChildClass)obj;
....
return child;
}
因为程序接口中有很多子类,如果不采用XmlInclude进行声明,有什么方法可以解决这种序列化的问题呢,程序接口中,只有自定义类或对象数组类型,不存在List类型。
...全文
137 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pandaohua 2007-12-20
  • 打赏
  • 举报
回复
不一样
WebService定义
[XmlInclude(typeof(FatherClass))]
[XmlInclude(typeof(ChildClass))]
[WebMethod]
public FatherClass HelloStus(FatherClass obj)
{
ChildClass child = (ChildClass)obj;
....
return child;
}
这样定义发布使用就没有问题,但是采用如下的定义方式,就会出现序列化错误,请问有什么方法解决呢?
[WebMethod]
public FatherClass HelloStus(FatherClass obj)
{
ChildClass child = (ChildClass)obj;
....
return child;
}
上面的多了
[XmlInclude(typeof(FatherClass))]
[XmlInclude(typeof(ChildClass))]
声明
leixueqiyi 2007-12-20
  • 打赏
  • 举报
回复
public FatherClassHelloStus(FatherClass obj)
{
ChildClass child = (ChildClass)obj;
....
return child;
}
这样定义发布使用就没有问题,但是采用如下的定义方式,就会出现序列化错误,请问有什么方法解决呢?
[WebMethod]
public FatherClassHelloStus(FatherClass obj)
{
ChildClass child = (ChildClass)obj;
....
return child;
}
好像是一样的
hapen_zhang 2007-12-20
  • 打赏
  • 举报
回复
加上
[XmlInclude(typeof(FatherClass))]
[XmlInclude(typeof(ChildClass))]
比较好,否则客户端可能无法解释你的自定义类

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧