【发布时间】:2011-06-22 08:24:09
【问题描述】:
我有一个名为ConstructionManager 的服务器端服务,它的一个操作是GetAll(),它返回一个构造列表。 Construction 是一个数据契约,继承自 Construction 有几种类型(Buildings、Apartments 等)
当我发送公寓列表时,一切都很好,所有属性都在他们的位置,但是当我在客户端收到该列表,并在运行时查看接收到的对象中的内容时,我在非公共成员中看到了所有特定于从Construction 继承的类型的属性,例如Rooms、Floor,但在结果视图中,它显示所有属性的值都是“0”,而不是发送它们的值。
在数据契约构造中,在类的顶部,是继承类的 KnownType 属性。
了解一下可能会有所帮助,我使用的是 Web Service Software Factory。
对不起,我的英语不好。
【问题讨论】:
-
贴一段代码(实体和服务方法签名),并在问题描述中稍微清楚一点。
-
我已经编辑了这个问题,试图让它更清楚一点,如果有什么看起来不对的地方,请告诉我。是的,发布一些示例代码,显示合同以及在将对象发送回客户端之前如何填充对象。有一个测试用例,您只需创建一个带有硬编码值的公寓并将其发送给客户端并检查它可能会有所帮助。
-
你显示的不是调用你的服务的结果,而是调用LocalConstructionReplace的结果与你的服务的结果。我先看看那里。我会设置一个简单的测试来验证行为。
标签: wcf web-services known-types