Asp.net mvc 应用程序池中的ASP MVC4返回文件内存峰值
例如,当我从我的控制器返回pdf时,我的应用程序池会出现峰值,如果我下载文件10次,我的应用程序池就会崩溃,有没有办法在发送文件后清除内存 我曾经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或其
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);