저는 WCF 경계를 넘을 수있는 모든 유형을 직렬화 및 비 직렬화하여 모든 속성이 다른 측면에 적용될 것이라는 것을 증명할 수있는 단위 테스트를 작성하고 있습니다.WCF Serialization UnitTests 및이 XmlWriter는 base64로 인코딩 된 데이터를 지원하지 않습니다. 어떤 글쓴이를 사용해야합니까?
바이트 [] 속성으로 약간의 걸림돌을 맞았습니다. 내가 테스트를 통해이 객체를 실행하면
[DataContract(IsReference=true)]
public class BinaryDataObject
{
[DataMember]
public byte[] Data { get; set; }
}
, 나는 System.NotSupportedException를 얻을 : This XmlWriter does not support base64 encoded data
. WCF는 아마 XDocument
인스턴스를 사용하지 않고 System.Xml.XmlWriter
인스턴스를 사용하지 않을 수 있습니다 -
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는 기본적으로 어떤 작성자를 사용합니까? 내 테스트에서 그 유형의 인스턴스를 사용하고 싶습니다.
정확히 내가 필요한 것, 감사합니다! –