如何管理生成的文件,使用asp.net保存多长时间

时间:2013-01-29 16:56:23

标签: c# asp.net

我有一个从模板生成excel文件的Web应用程序。

当新文件流式传输到客户端时,我删除了该文件。这在我的计算机上工作正常,但无论出于何种原因,当从另一台计算机访问该网站时,该文件在流式传输到客户端之前被删除,因此该文件始终为空(0字节) 这是代码:

try
{
  Response.Clear();
  Response.ClearHeaders();
  Response.ContentType = "application/ms-excel";
  Response.AddHeader("content-disposition", "attachment;filename=" + newFN + ".xlsx");                            
  Response.TransmitFile(DestFile);
  Response.Flush();
  Response.End();
}
finally
{
  File.Delete(DestFile);
}

为什么我的计算机可以正常工作,而另一台计算机却没有?

如何删除生成的文件以及何时删除?我正在考虑做一个计划任务,按日期检查,在特定日期之前检查所有文件,并删除它们,但还有其他解决方案吗?

1 个答案:

答案 0 :(得分:2)

以下适用于我:

Response.Clear();
Response.ClearHeaders();
Response.ContentType = "application/ms-excel";
Response.AddHeader("content-disposition", "attachment;filename=" + newFN + ".xlsx");                            
Response.TransmitFile(DestFile);
Response.Flush();
File.Delete(DestFile);
HttpContext.Current.ApplicationInstance.CompleteRequest();

但是如果文件是以dinamically方式生成的,那么你应该考虑使用Response.BinaryWrite方法。