Как удалить папку асинхронно - PullRequest
5 голосов
/ 21 января 2012

У меня запущена служба Windows, которая удаляет папки с сетевого диска.Я хочу сделать удаление асинхронным.Как это можно сделать?

Сейчас я перебираю каталоги и звоню

Directory.Delete(fullPath, true);

Спасибо

Ответы [ 2 ]

9 голосов
/ 21 января 2012

Я бы использовал библиотеку параллельных задач:

Task.Factory.StartNew(path => Directory.Delete((string)path, true), fullPath);
1 голос
/ 21 января 2012

Если вы выполняете цикл, вы можете использовать параллельный foreach


// assuming that you have a list string paths.  
// also assuming that it does not matter what order in which you delete them
Parallel.ForEach(theListOfDirectories, (x => Directory.Delete(x));

...