/Serialization/XmlSerializerCache.cs |
@@ -9,9 +9,7 @@ |
using System.Collections.Generic; |
using System.IO; |
using System.Linq; |
using System.Text; |
using System.Threading; |
using System.Threading.Tasks; |
using System.Xml; |
using System.Xml.Linq; |
using System.Xml.Serialization; |
@@ -96,9 +94,15 @@ |
{ |
try |
{ |
using (var XmlReader = XDocument.Parse(XmlData).Root.CreateReader()) |
using (var memoryStream = new MemoryStream()) |
{ |
return (T) GetSerializer<T>(ExtraTypes).Deserialize(XmlReader); |
using (var streamWriter = new StreamWriter(memoryStream)) |
{ |
streamWriter.Write(XmlData); |
streamWriter.Flush(); |
memoryStream.Position = 0; |
return (T) GetSerializer<T>(ExtraTypes).Deserialize(memoryStream); |
} |
} |
} |
catch (Exception ex) |
@@ -138,16 +142,16 @@ |
return Serialize(Object, null); |
} |
|
public static async Task<T> Deserialize<T>(StreamReader streamReader) |
public static T Deserialize<T>(StreamReader streamReader) |
{ |
return Deserialize<T>(await streamReader.ReadToEndAsync(), null); |
return Deserialize<T>(streamReader.ReadToEnd(), null); |
} |
|
public static async Task<T> Deserialize<T>(Stream stream) |
public static T Deserialize<T>(Stream stream) |
{ |
using (var memoryStream = new MemoryStream()) |
{ |
await stream.CopyToAsync(memoryStream); |
stream.CopyTo(memoryStream); |
memoryStream.Position = 0L; |
using (var streamReader = new StreamReader(memoryStream)) |
{ |
@@ -171,9 +175,9 @@ |
Serialize(value, null).Save(stringWriter); |
} |
|
public static async Task<T> Deserialize<T>(TextReader reader) |
public static T Deserialize<T>(TextReader reader) |
{ |
return Deserialize<T>(await reader.ReadToEndAsync(), null); |
return Deserialize<T>(reader.ReadToEnd(), null); |
} |
} |
} |