c# -在目录中搜索大量文件?

Translate

我使用的是MSVE,我有自己的图块,这些图块显示在顶部的图层中。问题是,它们很多,而且它们都在网络服务器上。在某些目录中,大约有30,000+个文件。最初,我叫Directory.GetFiles,但是一旦我在伪真实环境中开始测试,它就会超时。

以编程方式列出和遍历这么多文件的最佳方法是什么?

编辑:我的同事建议使用MS索引服务。有没有人尝试过这种方法,并且(如何)起作用?

This question and all comments follow the "Attribution Required."

所有的回答

Translate

我过去曾使用电话录音在SAN系统上工作,该录音在单个文件夹中存在文件数量问题-该系统在5,000左右无法使用(在Windows 2000 Advanced Server上使用C#.Net 1.1中的应用程序)-我们提出的唯一明智的解决方案是更改文件夹结构,以使文件数量更多。有趣的是资源管理器也会超时!

我们提出的约定是一种结构,该结构在数年,数月和数天的时间内就将其分解了-但是这取决于您的系统以及您是否可以控制目录结构...

来源
Translate

绝对将它们分开。也就是说,请尽可能远离索引服务。

来源
Stu
Translate

没有。 .NET依赖于基础Windows API调用,这些调用本身确实非常讨厌这么多的文件。

正如Ronnie所说:将它们分开。

来源
Translate

您可以使用DOS吗?

DIR /s/b > Files.txt
来源
Translate

您还可以查看自己为文件编制索引的方法,还是获取第三方应用程序(如Google桌面或哥白尼做到这一点,然后与他们的索引接口。我知道copernic有一个API,您可以使用该API搜索其索引中的任何文件,并且还支持映射网络驱动器。

来源