Я пишу несколько модульных тестов, которые сериализуют и десериализируют все наши типы, которые могут пересечь границу WCF, чтобы доказать, что все свойства сделают его на другую сторону.
Я ударил немного зацепления с байтом [] свойством.
[DataContract(IsReference=true)]
public class BinaryDataObject
{
[DataMember]
public byte[] Data { get; set; }
}
Когда я запускаю этот объект через тестирование, я получаю System.notsupportedException: Этот xmlwriter не поддерживает кодированные данные Base64
.
Вот мой метод сериализации:
public static XDocument Serialize(object source)
{
XDocument target = new XDocument();
using (System.Xml.XmlWriter writer = target.CreateWriter())
{
DataContractSerializer s = new DataContractSerializer(source.GetType());
s.WriteObject(writer, source);
}
return target;
}
Это происходит для меня, что мой метод сериализации должен быть ошибочным - WCF, вероятно, не используется XDocument
экземпляров и может не использовать System.xml.xmlwerister
Экземпляры.
Какой писатель использует WCF по умолчанию? Я хотел бы использовать экземпляры этого типа в моем тесте.