2012-04-02 5 views
4

배경 작업자가 있습니다. 파일이 존재하는지 여부를 확인하고 싶습니다. 파일이 생성 될 때까지 기다리는 중입니다. 한 번 그 다음 생성 할 그 가정하자 작업과에서 수행C# - 배경 작업자가 파일 생성을 기다리는 중

내가 .. 같은 것을 할 싶어하지만 난 그냥 .. 그것을 할 방법을 알아낼이 새로운 메신저 :

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) 
{ 
    if(File.Exists(filename)){ 
     //.. code to do my work ... 
    } 
    else{ 
     //..Wait for the file to be create... 
    } 
//... end of backgroundworker 
} 

감사에서 advance

답변

7

01 파일을 만들 때을 사용하여 이벤트를 가져옵니다.

+0

시나리오가 있기 때문에 파일이 잠시 동안 존재하면 다른 프로세스가 파일을 삭제합니다. 그래서 파일이 삭제되면 확인 상태로 돌아 가야합니다. 스 니펫이나 그 종류의 항목이 실제로는 유용한 –

+1

'FileSystemWatcher'는 생성과 삭제를 위해 여러 이벤트를 가지고 있습니다. 설명서를 읽고 그 지식으로 파일을 처리하기위한 알고리즘을 변경하십시오. –

3

실제로는 FileSystemWatcher을 사용해야합니다. "대기중인 작업"의 경우 BackgroundWorker은 올바른 도구가 아닙니다. FileSystemWatcher 또는 기존 스레드를 사용합니다.

관련 문제