反序列化XML文件时c#中的OutOfMemoryException

时间:2015-08-06 13:44:18

标签: c# asp.net stream

我在c#中有一个对象需要保存为文件并重复使用。

所以基本上我现在正在做的是将序列化为xml并将其保存为文件。该文件大约100MB。

现在我遇到的问题是当我想要将文件反序列化为类时,我和UpOfMemoryException。

我使用以下代码:

XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(file);

Deserialize<T>(xmlDocument.InnerXml);

 public static T Deserialize<T>(string xmlContent)
 {
     var inStream = new StringReader(xmlContent);
     var ser = new XmlSerializer(typeof(T));
     return (T)ser.Deserialize(inStream);
 }

1 个答案:

答案 0 :(得分:2)

以下是我的评论在代码中的样子:

    public static T Deserialize<T>(string Filepath)
    {
        using (FileStream FStream = new FileStream(Filepath, FileMode.Open))
        {
            var Deserializer = new XmlSerializer(typeof(T));
            return (T)Deserializer.Deserialize(FStream);
        }
    }