Задать вопрос
@ViX_EL
Разработчик C++

Какой самый быстрый способ поиска файлов на сетевом диске?

Мне нужно искать файлы документов на сетевом диске в определённой папке и всех её подпапках, я написал следующий код но он работает гораздо медленнее поиска через проводник windows. Вот мой код:
HashSet<string> missingFiles;

.....

 var options = new EnumerationOptions
 {
       IgnoreInaccessible = true,
       RecurseSubdirectories = true,
 };
 try
 {
     await Task.Run(() =>
     {
         foreach (string file in Directory.EnumerateFiles(networkPath, "*.pdf", options).AsParallel().Where(filePath =>
         missingFiles.Contains(Path.GetFileNameWithoutExtension(filePath))))
         {
             ......

             missingFiles.Remove(Path.GetFileNameWithoutExtension(file));
             if (missingFiles.Count == 0)
             {
                 break;
             }
         }
     });
 }
 catch (Exception ex)
 {
     Logger.ExceptionsMessages.Add(ex.Message);
 }
  • Вопрос задан
  • 44 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
Использовать индексацию на стороне сервера.
А для решения проблемы скорости вашего кода вам следует провести его диагностику, найти узкие места и устранить их.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы