내 웹 사이트는 pdf에서 문서를 변환하는 동안 많은 png 파일을 만듭니다. 고유하게 식별 된 모든 파일을 가지고 있으며 세션 종료시 해당 파일을 제거하려고합니다. 내 생각은 목록을 만들어 세션에 저장하고 내 목록 <에 저장된 경로별로 각 파일을 삭제하는 것이 었습니다. ASP.NET에서 세션 종료시 임시 파일 삭제
은 Global.asax에 나는 추가 : Web.config의에서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 { }
}
}
}
나는이 추가 :
<sessionState mode="InProc" cookieless="false" timeout="20" />
하지만 파일은 여전히 임시 위치에 앉아있다. 아직 실패한 부분을 테스트했지만 세션 종료시 임시 파일을 삭제하는 것이 더 좋습니다. BTW, 내가 확인하고 cleanUpCollection은 로컬 서버의 경로를 저장하므로 파일 경로에 오류가 없습니다.
당신이이 일을하는 방식이 나에게 의미가 있습니다. 파일이 아직 사용 중이 아닌지 확인 하시겠습니까? Image 클래스와 Bitmap 클래스에는 참조에 매달리는 것과 같은 특정 메소드가 있습니다. 클래스를 삭제하지 않으면 파일 참조가 여전히 열려 있으며 세션 종료시 파일 삭제가 실패합니다. –
[이것은 일종의 유형입니다] (http://stackoverflow.com/q/11408857/656243) 나는 얘기하고있다. –
[여기 같은] (http://stackoverflow.com/q/3661799/656243). –