我有一个ashx处理程序,它获取我们正在使用的文件,这在SharePoint中,然后它检查它是什么类型的文件,然后使用Response.BinaryWrite
进行写入。它从另一台包含我们所有文件的服务器获取此文件。当我去下载像3MB这样的文件时,它可以正常工作。但是当我下载30MB或40MB的文件时,我得到了错误。
Exception of type 'System.OutOfMemoryException' was thrown. at System.String.GetStringForStringBuilder(String value, Int32 startIndex, Int32 length, Int32 capacity)
我检查了我的应用程序池,我们将其设置为1.5GB(虚拟)和1GB(实际内存)。我没有想法,不知道下一步该去哪有人有任何想法?
case "PDF":
context.Response.ContentType = "application/pdf";
context.Response.AddHeader("content-disposition", "inline; filename=" + asset.A_Name);
}
context.Response.BinaryWrite(content);
答案 0 :(得分:0)
您可能想尝试使用Response.TransmitFile方法,该方法不会缓冲服务器内存中的内容。