【发布时间】:2013-01-28 02:36:40
【问题描述】:
我在这段 C# 代码中遇到了 OutOfMemoryException 的问题。
private void SaveZip(IDataReader reader, string header, string fileName, Ionic.Zip.ZipFile zip)
{
using (var stream = new MemoryStream())
{
using (var writer = new StreamWriter(stream, Encoding.ASCII))
{
writer.WriteLine(header);
while (reader.Read())
{
writer.WriteLine(reader.GetString(0)); //exception occurs here
}
writer.Close();
}
zip.AddEntry(fileName, stream.ToArray());
}
}
代码尝试将 DataReader 对象写入文件,该文件在过程结束时被压缩。问题是 Reader 包含大量数据,大约 150MB,当我尝试将流写入内存时,它引发了异常。 我该如何解决这个问题?
感谢您的帮助!
【问题讨论】:
-
此代码是否适用于较小的数据集?
标签: c#-3.0 out-of-memory memorystream