использовать или не использовать атрибут KnownType между серверами? - PullRequest
1 голос
/ 17 января 2012

У меня есть вопрос об использовании атрибута WCF KnownType между сервером и клиентским приложением,
Как вы знаете, существуют различные способы передачи объектов между сервером и клиентом с использованием wcf.

  1. с использованием knowntype.
  2. с использованием DataContractResolver.
  3. с использованием POCO для передачи данных объекта knownType (лучшая практика).

Каков наилучший способ передачи данных (3)?это как сериализованная (xml / json / bufferProtocol) строка?как сам по себе класс (тогда мы снова получим тип знания)?

1 Ответ

0 голосов
/ 17 января 2012

Я обычно использовал объекты POCO, используя DataContractSerializer. При таком подходе DTO хранились в отдельной сборке, доступной обоим концам диалога WCF.

Мне нужно было явно использовать KnownTypes только тогда, когда в DTO было наследование. Например, если в контракте на обслуживание указан базовый класс, но я на самом деле возвращаю производный класс, мне нужно было бы явно указать наследование в конфигурации KnownType.

Это редкость в моем использовании и, как правило, не требуется.

Украсьте ваши объекты POCO атрибутами DataContract. Украсьте свойства атрибутами DataMember, а остальная часть позаботится об этом.

...