이 C# 코드에서 OutOfMemoryException 문제가 있습니다.OutOfMemoryException with MemoryStream()
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의 큰 데이터 세트를 포함하고 있으며 스트림을 메모리에 쓰려고 할 때 예외가 발생한다는 것입니다. 어떻게 해결할 수 있습니까?
도움 주셔서 감사합니다.
이 코드는 더 작은 데이터 세트로 작동합니까? –