#.net #web-services #wcf #serialization
#.net #веб-сервисы #wcf #сериализация
Вопрос:
Я совершенно не понимаю, какая сериализация используется для веб-служб wcf. Объект Soap используется для передачи данных с сервера на клиент и наоборот.
Использует ли он soap formatter или xml serializer? Также второй вопрос: существует также сериализатор datacontract, для чего он предназначен? Я так много раз прогревал Google, но не мог найти подходящего ответа. Пожалуйста, помогите мне в этом отношении. Спасибо.
Ответ №1:
WCF использует сериализацию DataContract. Итак, ответ на ваш второй вопрос — да, существует сериализатор контракта данных.
- Вот ссылка на MSDN о сериализации DataContract: http://msdn.microsoft.com/en-us/library/ms733127 (v = против 110).aspx
- Эта ссылка описывает, как использовать атрибут DataContract — он обозначает класс для сериализации контракта данных. http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute(v=vs.110).aspx
- Эта ссылка описывает, как использовать атрибут DataMember — он помечает свойство / поле для сериализации контракта данных http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datamemberattribute(v=vs.110).aspx
- Наконец, вот ссылка, которая покажет вам, как создать класс с простой сериализацией контракта данных: http://msdn.microsoft.com/en-us/library/ms733811 (v = против 110).aspx
Комментарии:
1. Спасибо за ваш ответ, но это дает только информацию о datacontract.
2. Это отвечает: я совершенно не понимаю, какая сериализация используется для веб-служб wcf. Используемая сериализация — это сериализация DataContract. Это XML-сериализатор — помогают ли эти ссылки: msdn.microsoft.com/en-us/library/ms731073 (v = против 110).aspx и msdn.microsoft.com/en-us/library/ms730035 (v = против 110).aspx
3. а что, если кто-нибудь не использует класс с атрибутом DataContract и использует только контракт сообщения
4. Мне кажется, я понимаю, к чему вы клоните. По большей части, использование сериализации DataContract упростит вашу работу. Только если вам нужны какие-то специальные, пользовательские заголовки SOAP или особая безопасность, вам нужно использовать заключение контрактов на сообщения. Сжатие сообщений позволяет вам иметь больше контроля над сериализацией. Чего вы пытаетесь достичь?
5. Данные Wcf, сообщение, передаваемое сообщением SOAP. Если есть SOAP-сообщение, то должен быть SOAP formatter (я думаю). ИЛИ это делается с помощью xml или datacontract serializer для сериализации . Итак, как создается SOAP-сообщение. Я имею в виду, какой форматировщик. Я думаю, что ответ на этот вопрос может решить мою проблему.