SharePoint ashx处理程序文件下载问题

时间:2011-07-20 20:09:38

标签: c# asp.net sharepoint handler binarywriter

我有一个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);

1 个答案:

答案 0 :(得分:0)

您可能想尝试使用Response.TransmitFile方法,该方法不会缓冲服务器内存中的内容。