Я создаю xsd на основе документации клиента и всех атрибутов xsd. Я использую xsd.exe для генерации классов из xsd, но я читал, что эти атрибуты не поддерживаются для DataContractSerializer. Почему нет? Означает ли это, что у меня может быть только файл soap + xml с просто элементами? Это невозможно, потому что я не создаю запросы. Есть ли способ указать svcutil для распознавания атрибутов?Почему атрибуты не поддерживаются DataContractSerializer?
ответ
DataContractSerializer был создан с учетом философии «первого кода» - он хорошо отображает большинство языков программирования (записи, списки) и не обрабатывает все XML-конструкции (такие как атрибуты или внешние например, элементы порядка) по соображениям производительности.
WCF (svcutil) по-прежнему поддерживает использование XmlSerializer, который может обрабатывать AFAIK все XML-конструкции. svcutil должен создать контракт с помощью XmlSerializer, если DataContractSerializer не сможет его обработать.
У вас есть пример того, как указать svcutil для использования XmlSerializer? – Xaisoft
Это зависит от опции, которую вы используете svcutil. Например, при создании прокси-кода вы можете указать svcutil/serializer: XmlSerializer. svcutil /? даст вам другое использование. – carlosfigueira
Отлично. Спасибо Карлосу. Иронично, что вы ответили на это. Я только что пришел из вашего блога, прежде чем приехал сюда. – Xaisoft
- 1. Почему DataContractSerializer не реализует IFormatter?
- 2. WCF DataContractSerializer не берет атрибуты контракта ... почему бы и нет?
- 3. DataContractSerializer: почему бы не удалить участников?
- 4. Если атрибуты в интерфейсе не поддерживаются, зачем он компилируется?
- 5. Почему инициализаторы обхода байтов DataContractSerializer?
- 6. Какие атрибуты привязки поддерживаются на asp: HyperLink?
- 7. DataContractSerializer
- 8. Почему в Консуле не поддерживаются настраиваемые поля?
- 9. Почему не поддерживаются постоянные соединения URLLib2?
- 10. Почему триггеры AFTER не поддерживаются для просмотров?
- 11. DataContractSerializer пропускает объект
- 12. WCF DataContractSerializer не удается сериализовать
- 13. DataContractSerializer не сериализует одно свойство
- 14. Атрибут DataContractSerializer KnownType не соблюдается?
- 15. DataContractSerializer - Проблемы
- 16. DataContractSerializer не десериализует все переменные
- 17. Вложенные транзакции не поддерживаются
- 18. Пользовательская сериализация с DataContractSerializer
- 19. Почему не передаются атрибуты Model.new?
- 20. Почему атрибуты XUnit не распознаются?
- 21. Почему не SingleThreadModel синхронизирует атрибуты?
- 22. Почему я не могу сериализовать объект с помощью DataContractSerializer?
- 23. DataContractSerializer C# Может ли сериализоваться, не может десериализоваться, почему?
- 24. Документация DataContractSerializer
- 25. Смешанные типы не поддерживаются
- 26. Datacontractserializer не перезаписывает все данные
- 27. DataContractSerializer не десериализации коллекцию объектов
- 28. DataContractSerializer не вызывает мой конструктор?
- 29. список DataContractSerializer Deserialize не работает
- 30. DataContractSerializer: SerializationException «EndElement» не ожидается
Вы просто ответили на свой вопрос. –
@ Джон, как? Я не понимаю, почему они не будут поддерживаться. – Xaisoft
Потому что Microsoft так сказала? –