我在 WCF 服务中创建了一些数据类,以在服务和客户端之间来回传输数据。因此,这些“对象”用 [ServiceContract] 和 [DataMember] 装饰,因此暴露给客户端,以便我可以实例化一个,填充它并将其发送到服务。现在,我注意到我可以在服务中使用多态性,但是我在客户端和服务之间没有那么幸运。例如
在服务中,有一个名为 Ticket 的类和一个从 Ticket 派生的名为 MOCTicket 的类。还有一种方法接受 Ticket 作为参数。通常,我应该能够向该方法发送一个 MOCTicket 对象,并且它会正常工作,因为它派生自 Ticket,并且我可以在服务中执行此操作。但是,如果我在 CLIENT 端实例化 MOCTicket 对象并尝试将其发送到接受 Ticket 的服务方法,则会引发错误。我猜这是一个序列化问题。
我只是对我可以从这些数据类中获得的那种行为感到困惑。你得到一些但没有其他的。就像我不能序列化行为/方法或构造函数一样,但我可以序列化延迟加载的属性(或者看起来如此)。无论如何,如果有人可以帮助我实现我上面描述的或者如果有可能的话。任何关于这些“对象”的额外说明也将不胜感激。我用谷歌搜索试图找到答案,但找不到任何写得足够清楚来回答这个问题的东西。谢谢。