数据交换中的继承

时间:2011-09-26 08:24:38

标签: c# wcf

我有一个课程说supplierAddress来自网络服务(它是一个数据标记)。然后我有一个继承自该类的第二个类myAddress,并且还有一些构造函数和元数据。

我想要做的是将myAddress传递回网络服务。当我向下传递一个强制转换时,它会抛出序列化错误,这使得它成为一个参考对象,并且整个对象仍然被传递,即使我正在向下传播。

是否可以只克隆对象的基类?是我试图做/正确吗?

1 个答案:

答案 0 :(得分:1)

您应为基类指定Known types

更新:额外澄清。

SOA(面向服务的体系结构)范例不支持多态或方法重载等常见功能。此行为基于非常简单的事实:您不知道哪个平台将使用您的服务。它绝对有可能以不支持继承或方法重载等平台或语言的方式使用您的服务。

这就是为什么你应该创建具有唯一名称的服务函数,这就是为什么你应该明确说明你将要传递的类型而不是基类引用。

当您指定已知类型时,此信息会通过元数据显示在您的服务之外,并且每个客户都可以了解如何处理您的回复。