2011-03-06 2 views
2

폴더와 파일을 검사해야하는 WPF 응용 프로그램을 만들고 있습니다. 많은 경우에도 많은 폴더를 반복하는 데 시간이 오래 걸립니다. 분명히 응용 프로그램 사용자를 기다리지 않고 다른 작업을 수행 할 수 없도록 (또는 UI가 고정되지 않도록) 유지하기를 원하지 않습니다. 비동기식으로 폴더 검색을 수행하는 방법을 배우려면 어디에서 시작해야합니까? 가능한 경우 간단한 참조!간단하지만 시간이 많이 걸리는 작업을 수행하는 비동기

좋은 하루 되세요!

+0

Backgroundworker –

답변

2

가장 쉬운 옵션은 잠재적으로 BackgroundWorker입니다. 이렇게하면 자동으로 "작업"을 백그라운드로 푸시하고 Dispatcher를 통해 수동으로 동기화하지 않고 진행 상황과 완료를 WPF 스레드에보고 할 수 있습니다.

또 다른 옵션은 작업 계속을 통해 TPL을 사용하는 것입니다. 예를 들어, 당신이 당신의 방법을 시작할 때, 당신은 할 수 있습니다 : UI가 다시 UI 스레드로 호출 파견을 포함, BackgroundWorker를 사용하여 보여줍니다

// Disable your UI... 

// Start your "work" 
var task = Task.Factory.StartNew(() => 
{ 
    // Do your processing here... 
}); 

task.ContinueWith(t => 
{ 
    // Report results and re-enable UI here... 

}, TaskScheduler.FromCurrentSynchronizationContext()); 
관련 문제