1

我有一个关于在服务器/客户端应用程序之间使用 WCF KnownType 属性的问题,
如您所知,使用 wcf 在服务器和客户端之间传输对象有不同的方式。

  1. 使用已知类型。
  2. 使用 DataContractResolver。
  3. 使用 POCO 传输 knownType 对象的数据(最佳实践)。

(3) 传递数据的最佳方式是什么?它是序列化的(xml / json / bufferProtocol)字符串吗?作为一个类本身(然后我们再次获得 knowntype)?

4

1 回答 1

0

我通常使用 DataContractSerializer 使用 POCO 对象。在这种方法下,DTO 存储在一个单独的程序集中,WCF 对话的两端都可以访问。

仅当 DTO 涉及继承时,我才需要显式使用 KnownTypes。例如,如果服务契约指定了一个基类,但我实际上返回了一个派生类,我需要使用 KnownType 配置显式声明继承。

这在我的使用中很少见,通常不需要。

使用 DataContract 属性装饰您的 POCO 对象。使用 DataMember 属性装饰属性,框架将处理其余部分。

于 2012-01-17T13:49:57.817 回答