我将DLL
信息存储到以下类中:
[XmlRoot("Modules")]
[XmlInclude(typeof(Module))]
public class Modules : List<Module> {}
[XmlType("Module")]
public class Module
{
[XmlIgnore()]
public bool Selected { get; set; }
[XmlElement()]
public string Name { get; set; }
[XmlElement()]
public string Version { get; set; }
[XmlElement()]
public byte[] Binary;
}
当我使用以下代码序列化列表中的少数Module
类时,它没问题。
XmlSerializer serializer = new XmlSerializer(typeof(Modules));
using (StringWriter sw = new StringWriter())
{
serializer.Serialize(sw, ugModules.DataSource);
}
然而,我的问题出现在列表中,我有113个项目 - 现在很明显,这是二进制文件中的大量数据。
我收到System.OutOfMemory
例外情况,我似乎记得要增加某种阈值,但我无法找到正确的属性或方法来确定我需要更改的内容。
我将此序列化为XML以将XML传递给SQL,然后将信息存储在表中,只是针对我正在做的事情的一些范围。
如何绕过例外?有更好的方法吗?