Должен ли я использовать DTO над WCF (namedPipes) или нет? - PullRequest
1 голос
/ 19 февраля 2010

Я имею в виду, что если бы я использовал WCF через http, я бы не колебался.

Мой ORM - это LLBLGen Pro, который предоставляет мне довольно интересные функции для сбора сущностей, такие как отслеживание изменений и другие.Если бы я пошел по пути DTO, я бы потерял эту функциональность.На данный момент на стороне клиента есть веб-приложение, которое не нуждается в функциональности отслеживания изменений, но, возможно, когда-нибудь появится приложение silverlight на стороне клиента.

Что вы, ребята, думаете по этому поводу?

1 Ответ

3 голосов
/ 19 февраля 2010

Даже если ваша транспортная привязка названа каналом, WCF все равно будет сериализовать и десериализовать сообщения. Это означает, что ваши объекты будут скопированы назад и вперед.

Даже если вы поделитесь типом между клиентом и службой (как правило, не рекомендуется), вы все равно будете получать копии в обоих направлениях. По сути, даже без явных типов DTO ваши объекты будут обрабатываться как неявные DTO.

О, и это будет работать, только если они уже DataContracts или IXmlSerializable.

...