2010-06-24 4 views
1

내 MVC 웹 응용 프로그램에서 이미지 파일을 업로드합니다. 선택한 이미지를 업로드 할 때마다 내 사이트에 로고로 표시하고 싶습니다. 이를 위해 브라우저 캐시를 지워야합니다. 다음은 캐시 지우기에 사용중인 함수 집합입니다.사용중인 파일을 삭제하지 않고 IE 캐시를 지우는 방법은 무엇입니까?

void clearIECache() 
    { 
     ClearFolder(new DirectoryInfo(Environment.GetFolderPath 
     (Environment.SpecialFolder.InternetCache))); 
    } 

    void ClearFolder(DirectoryInfo folder) 
    { 
     foreach (FileInfo file in folder.GetFiles()) 
     { file.Delete(); } 
     foreach (DirectoryInfo subfolder in folder.GetDirectories()) 
     { ClearFolder(subfolder); } 
    } 

위 코드의 문제점은 사용중인 파일을 삭제하려고 할 때마다 중단된다는 것입니다. 이러한 파일을 건너 뛰고 원활하게 작업 할 수 있기를 바랍니다. 이것을 달성 할 수있는 방법이 있습니까? 오류 트랩에

+0

로컬이인가 앱 또는 원격 사용자 용 원격 사용자의 컴퓨터에서 코드를 실행하려면 어떻게해야할까요? –

답변

2

사용 Try/Catch 그들을 무시 :

foreach (FileInfo file in folder.GetFiles()) 
    { 
     try 
     { 
      file.Delete(); 
     } 
     catch (Exception) 
     { 
      // Swallow "File in use" errors. 
     } 
    } 
+2

이렇게하면 빈 catch 블록에 항상 주석을 포함하고 프로그래머가 빈 catch 블록이있는 이유를 설명합니다. –

0

은 아마 브라우저를 수정하는 코드 줄을 jQuery를 사용하여 스크립트에서 사용하는 캐싱을 수행

$.ajaxSetup({ cache: false }); 
+1

이 질문은 C#에 관한 것입니다. C#에는 jQuery가 없습니다. –

관련 문제