序列化时C#protobuf-net内存不足

时间:2014-08-07 10:29:28

标签: c# out-of-memory protobuf-net

我使用Protobuf-net v2序列化包含List字段的类。在某些情况下,List字段可能会变得非常大,因此我的程序因内存不足而失败。

我现在想要实现的是一个将我的对象的Proto-buf表示写入磁盘但使用缓冲区的过程,这样我就不会过度使用我的内存。所以我开始:

 using (var fs = File.OpenWrite(fullPath))
        {
            using (var bs = new BufferedStream(fs, 4096*2))
            {

                Serializer.Serialize(bs, myObject);
            }
        }

但是,抛出相同的OOM异常。我怀疑我需要为缓冲区编写更多代码,但是,我甚至不确定我打算做什么是一个好主意,如果存在任何其他方法,我想,我的问题很常见。

非常感谢提前。

0 个答案:

没有答案