我的網站在轉換PDF文檔時創建了一堆png文件。我具有唯一標識的所有文件,並且希望在會話結束時刪除這些文件。我的想法是創建一個List,將它存儲在Session中,並通過存儲在我的List <>中的路徑刪除每個文件。在ASP.NET的會話結束時刪除臨時文件
在Global.asax中,我添加:
void Session_End(object sender, EventArgs e)
{
if (Session["cleanUpCollection"] != null)
{
List<String> deletePaths = ((List<string>)(Session["cleanUpCollection"]));
foreach(String s in deletePaths)
{
try
{
System.IO.File.Delete(s);
}
catch { }
}
}
}
在web.config中添加此:
<sessionState mode="InProc" cookieless="false" timeout="20" />
,但文件仍坐在臨時位置。 我還沒有測試這個失敗的地方,但是在會話結束時是否有更好的常見做法來刪除臨時文件? 順便說一句,我驗證和cleanUpCollection存儲本地服務器的路徑,所以沒有文件路徑錯誤。
你對這件事的看法對我來說很有意義。你確定這些文件還沒有被使用嗎? Image和Bitmap類有一些真正喜歡掛在引用上的方法;如果您不處理該類,則文件引用仍處於打開狀態,並且在會話結束時文件刪除將失敗。 –
[這是類型的東西](http://stackoverflow.com/q/11408857/656243)我在說。 –
[同一件事](http://stackoverflow.com/q/3661799/656243)。 –