private string SerializeToString(TJson obj) { if (obj == null) { return(null); } var serializer = DataContractSerializerCache.GetNoTypeDataJsonSerializer <T>(); using (var str = new MemoryStream()) { serializer.WriteObject(str, obj); return(Encoding.UTF8.GetString(str.ToArray())); } }
private TJson DesereaizeFromString(string str) { if (str == null) { return(null); } var serializer = DataContractSerializerCache.GetNoTypeDataJsonSerializer <TJson>(); var bt = Encoding.UTF8.GetBytes(str); using (var instr = new MemoryStream(bt)) { return(serializer.ReadObject(instr) as TJson); } }
/// <summary> /// Десериализовать. /// </summary> /// <param name="data">Данные.</param> /// <returns>Объект.</returns> public ISerializableObject Deserialize(string data) { if (data == null) { return(null); } var serializer = DataContractSerializerCache.GetJsonSerializer <TBase>(); using (var str = new MemoryStream(Encoding.UTF8.GetBytes(data))) { var r = serializer.ReadObject(str) as T; return(r != null?ValidateAfterDeserialize(r) : null); } }
/// <summary> /// Десериализовать контракт данных. /// </summary> /// <typeparam name="T">Тип контракта.</typeparam> /// <param name="data">Байты.</param> /// <returns>Объект.</returns> protected T DeserializeDataContract <T>(byte[] data) { if (data == null) { return(default(T)); } var serializer = DataContractSerializerCache.GetSerializer <T>(); using (var str = new MemoryStream(data)) { using (var rd = XmlDictionaryReader.CreateBinaryReader(str, XmlDictionaryReaderQuotas.Max)) { return((T)serializer.ReadObject(rd)); } } }
/// <summary> /// Десериализовать. /// </summary> /// <param name="data">Данные.</param> /// <returns>Объект.</returns> public ISerializableObject Deserialize(byte[] data) { if (data == null) { return(null); } var serializer = DataContractSerializerCache.GetSerializer <TBase>(); using (var str = new MemoryStream(data)) { using (var rd = XmlDictionaryReader.CreateBinaryReader(str, XmlDictionaryReaderQuotas.Max)) { var r = serializer.ReadObject(rd) as T; return(r != null?ValidateAfterDeserialize(r) : null); } } }
/// <summary> /// Сериализовать контракт данных. /// </summary> /// <typeparam name="T">Тип контракта.</typeparam> /// <param name="obj">Объект.</param> /// <returns>Байты.</returns> protected byte[] SerializeDataContract <T>(T obj) { if (obj == null) { return(null); } var serializer = DataContractSerializerCache.GetSerializer <T>(); using (var str = new MemoryStream()) { using (var wr = XmlDictionaryWriter.CreateBinaryWriter(str)) { serializer.WriteObject(wr, obj); wr.Flush(); } return(str.ToArray()); } }
/// <summary> /// Сериализовать. /// </summary> /// <param name="obj">Объект.</param> /// <returns>Сериализованное медиа.</returns> private byte[] SerializeToBytes(T obj) { if (obj == null) { return(null); } var serializer = DataContractSerializerCache.GetSerializer <TBase>(); using (var str = new MemoryStream()) { using (var wr = XmlDictionaryWriter.CreateBinaryWriter(str)) { serializer.WriteObject(wr, ValidateContract(obj)); wr.Flush(); } return(str.ToArray()); } }