具有大量对象的XmlSerializer异常

时间:2013-05-17 11:43:23

标签: c# xml xml-serialization

我将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,然后将信息存储在表中,只是针对我正在做的事情的一些范围。

如何绕过例外?有更好的方法吗?

0 个答案:

没有答案