Почему служба WCF возвращает сериализованные объекты XML? - PullRequest
2 голосов
/ 16 марта 2010

Я новичок здесь, и я надеюсь, что кто-нибудь может мне помочь.

У меня есть служба WCF и Windows Forms, работающие с этим клиентом, написанные на VB.NET. Класс Service начал возвращать сериализованные объекты xml, но все мои классы на стороне Service - это DataContract-s, а класс обслуживания - DataContractFormat. Я везде гуглил по поводу сериализации и не мог найти причину, почему она начала это делать.

Я проверил свои классы и сервис, файл app.config, но ничего не смог найти.

Я проверил класс Reference.vb, и он везде есть System.Xml.Serialization.XmlElementAttribute. Вопрос может показаться глупым, но я действительно не знаю, что делать. Я просто хочу знать, что может заставить сервис действовать так.

Спасибо.

1 Ответ

3 голосов
/ 16 марта 2010

Итак, я предполагаю, что вы сознательно не переходили на использование XmlSerializer, не так ли?

Существует ряд обстоятельств, когда среда выполнения WCF решает использовать XmlSerializer вместо DataContractSerializer, но, как правило, это когда у вас есть существующий WSDL / XSD, который содержит определенные элементы, с которыми DataContractSerializer не может иметь дело.

Проверяли ли вы свой класс Reference.vb - часто функция Add Service Reference в Visual Studio добавляет комментарии в сгенерированный файл, чтобы объяснить, почему он переключился на сериализатор XML. Это вообще что-то говорит ??

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