大文件和OutOfMemoryException

本文关键字:OutOfMemoryException 文件 | 更新日期: 2023-09-27 18:07:08

我是c#的新手,我的老板想让我调查一个OutOfMemory异常。如果文件很大(>50MB),抛出异常的代码在第一行下面:

     byte[] fileBytes = ws.getFile(f.FileId, f.Version); // This line gets the file from a webservice.
     File.WriteAllBytes(Path.Combine(folder, f.FileId.ToString("0")), fileBytes);

我在某个地方读到使用byte[]对于大文件不是一个好主意。

大文件和OutOfMemoryException

目前,您的代码正在下载整个文件并将其粘贴到堆上,然后在本地写入文件。

为了避免OutOfMemoryException,您将希望在运行时写入磁盘,而不是等到结束。您可以通过从webservice获取文件作为流,打开一个新的文件流来写入和复制内容来实现这一点。

相关文章:
  • 没有找到相关文章