1

我怎样才能避免异常

系统资源不足,无法完成请求的服务。

我正在使用此代码编写一个 190mb 的 pdf 文档,其中 this.outputPDF 是大 PDF 的路径,而 dataToFile 是发生异常时已经在内存中的一组字节。

        using (FileStream fsFileSigned = new FileStream(this.outputPDF, FileMode.Create, FileAccess.Write))
        {
            fsFileSigned.Write(dataToFile, 0, dataToFile.Length);
            fsFileSigned.Close();
        }

它是一个在 Windows Server 2008 64 位 2Gb 内存中运行的 Windows 服务。

4

1 回答 1

2

您的系统规范表明它可能资源不足,但这只是一个模糊的猜测......如果您真的想在这些限制内执行此操作,您可能希望以可管理的块写入文件。

只需以附加模式打开输出文件,一次写入(比如说)5 MB 的数据并关闭它。继续重复此操作,直到添加所有数据。与原始的单写方法相比,这可能非常慢,但它可能在资源不足的情况下工作。

于 2013-10-10T14:33:19.973 回答