Почему атрибуты не поддерживаются DataContractSerializer? - PullRequest
3 голосов
/ 20 мая 2011

Я создаю xsd на основе клиентской документации, и все xsd имеют атрибуты. Я использовал xsd.exe для генерации классов из xsd, но я прочитал, что атрибуты не поддерживаются для DataContractSerializer. Почему бы и нет? Означает ли это, что у меня может быть только файл soap + xml только с элементами? Это невозможно, потому что я не создаю запросы. Есть ли способ указать svcutil для распознавания атрибутов?

1 Ответ

5 голосов
/ 20 мая 2011

DataContractSerializer был создан с учетом принципа «сначала код» - он хорошо отображается на большинстве языков программирования (записи, списки) и не обрабатывает все XML-конструкции (например, атрибуты или внешние).элементы порядка, например) по соображениям производительности.

WCF (svcutil) по-прежнему поддерживает использование XmlSerializer, который может обрабатывать AFAIK всеми XML-конструкциями.svcutil должен создать контракт с помощью XmlSerializer, если DataContractSerializer не может его обработать.

...