WCF REST результат XML - PullRequest
       8

WCF REST результат XML

2 голосов
/ 25 августа 2011

У меня есть служба отдыха WCF. У него есть метод, который возвращает список объектов. Тип объекта устанавливается как DataContract, и он имеет DataMembers. Теперь это прекрасно работает, я могу получить свой список объектов в виде XML с помощью моего метода. Это здорово и приятно.

Мой вопрос: есть ли способ получить результат XML перед возвратом из метода? Итак, могу ли я иметь тот же XML в моем методе, который я могу получить при вызове моего метода через REST?

.net4 / VS2010

Ответы [ 2 ]

3 голосов
/ 25 августа 2011

Ответ Альфонсо в некоторой степени верно, но вы упомянули, что используете DataContract и DataMember.Класс XmlSerializer не предназначен для использования с контрактами данных.Вместо этого вы ищете DataContractSerializer.Использование этого очень похоже, но вместо этого выглядело бы так:

DataContractSerializer serializer = new DataContractSerializer(typeof(YourResultType));
StringBuilder stringBuilder = new StringBuilder();

using(XmlWriter xmlWriter = XmlWriter.Create(stringBuilder))
{
    serializer.WriteObject(xmlWriter, someInstanceOfYourResultType);
}

// use stringBuilder.ToString() to get the XML
1 голос
/ 25 августа 2011

Вы можете использовать XmlSerializer для сохранения результата в строку XML перед его возвратом.

XmlSerializer ser = new XmlSerializer(typeof(YourResultType));
StringBuilder sb = new StringBuilder();
StringWriter sw = new System.IO.StringWriter(sb);
ser.Serialize(sw, yourResult);
// Use sb.ToString()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...