Повторное использование классов и объектов для WCF и не-WCF - PullRequest
2 голосов
/ 30 марта 2010

У меня есть несколько классов, таких как Order, Customer и т. Д. Эти классы служат для хранения данных и ничего более. Я хочу иметь возможность повторно использовать эти классы в других проектах в будущем, но по какой-то причине я не совсем понимаю, WCF заставляет меня декорировать элементы данных атрибутом [DataMember], заставляя меня ссылаться на сантехнику WCF, которую я никогда не будет использовать в других проектах.

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

1 Ответ

1 голос
/ 30 марта 2010

Да, в .NET 3.5 с пакетом обновления 1 (SP1) WCF DataContractSerializer теперь сериализует любой класс POCO точно так же, как это делает XmlSerializer - любое открытое свойство будет сериализовано.

Я не знаю наверняка, хорошо ли это - один из столпов WCF является явным, чтобы четко заявить о ваших намерениях. Лично я считаю хорошей вещью пометить ваши классы с помощью [DataContract] и ваши поля и свойства, которые вы хотите явно сериализовать с помощью [DataMember] - это проясняет, что происходит, и это не повредит вашему классу POCO на все.

И кстати: вам не нужно ссылаться на любой"WCF-трубопровод", чтобы сделать это - эти атрибуты живут в System.Runtime.Serialization - очень общей системной сборке .....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...