Asp.net mvc 应用程序池中的ASP MVC4返回文件内存峰值

Asp.net mvc 应用程序池中的ASP MVC4返回文件内存峰值,asp.net-mvc,asp.net-mvc-4,memory,memory-management,filecontentresult,Asp.net Mvc,Asp.net Mvc 4,Memory,Memory Management,Filecontentresult,例如,当我从我的控制器返回pdf时,我的应用程序池会出现峰值,如果我下载文件10次,我的应用程序池就会崩溃,有没有办法在发送文件后清除内存 我曾经 return File(ByteArrayOfFile, "application/pdf","Report"); 或 但是,当我下载文件时,我的应用程序spool仍然会出现峰值。看一看,它向你展示了如何“流式”处理文件,而不是将整个文件加载到内存中然后提供给你。嗨,我尝试了这个,但我仍然得到峰值,文件只有200 kb,是一个有80页的pdf或其

例如,当我从我的控制器返回pdf时,我的应用程序池会出现峰值,如果我下载文件10次,我的应用程序池就会崩溃,有没有办法在发送文件后清除内存

我曾经

 return File(ByteArrayOfFile, "application/pdf","Report");


但是,当我下载文件时,我的应用程序spool仍然会出现峰值。

看一看,它向你展示了如何“流式”处理文件,而不是将整个文件加载到内存中然后提供给你。嗨,我尝试了这个,但我仍然得到峰值,文件只有200 kb,是一个有80页的pdf或其他内容。如果我转到另一个页面并进行一些查询,应用程序池将被收集,但是如果我打开6个浏览器并在每个浏览器上下载文件,我的应用程序池将变为Banana。您是否也在服务器上生成此文件?或者只是提供文件下载?
 Response.Clear();
            Response.ClearHeaders();
            Response.ClearContent();
            Response.ContentType = "application/pdf";
            Response.AddHeader("Content-Disposition",
                               string.Format("attachment; filename=" + " " +
                                             DateTime.Now.ToShortDateString() + ".pdf"));
            Response.BinaryWrite(contents);