폴더와 파일을 검사해야하는 WPF 응용 프로그램을 만들고 있습니다. 많은 경우에도 많은 폴더를 반복하는 데 시간이 오래 걸립니다. 분명히 응용 프로그램 사용자를 기다리지 않고 다른 작업을 수행 할 수 없도록 (또는 UI가 고정되지 않도록) 유지하기를 원하지 않습니다. 비동기식으로 폴더 검색을 수행하는 방법을 배우려면 어디에서 시작해야합니까? 가능한 경우 간단한 참조!간단하지만 시간이 많이 걸리는 작업을 수행하는 비동기
좋은 하루 되세요!
폴더와 파일을 검사해야하는 WPF 응용 프로그램을 만들고 있습니다. 많은 경우에도 많은 폴더를 반복하는 데 시간이 오래 걸립니다. 분명히 응용 프로그램 사용자를 기다리지 않고 다른 작업을 수행 할 수 없도록 (또는 UI가 고정되지 않도록) 유지하기를 원하지 않습니다. 비동기식으로 폴더 검색을 수행하는 방법을 배우려면 어디에서 시작해야합니까? 가능한 경우 간단한 참조!간단하지만 시간이 많이 걸리는 작업을 수행하는 비동기
좋은 하루 되세요!
가장 쉬운 옵션은 잠재적으로 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());
.NET 프레임 워크의 스레딩 기능에 대한 MSDN 페이지는 good place to start 일 것입니다.
Backgroundworker –