この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オブジェクトをファイルに書き込もうとします。ファイルは、プロシージャの最後に圧縮されます。問題は、リーダーに約150MBの大量のデータセットが含まれており、メモリにストリームを書き込もうとすると例外が発生することです。どうすればこれを解決できますか?
手伝ってくれてありがとう!