如何快速查询文件系统?

时间:2009-02-18 16:46:41

标签: c# wmi filesystems

我正在尝试查询远程计算机上的文件系统,以获取特定目录中的文件名列表。

到目前为止,我正在使用.NET中的DirectoryInfo类。像这样:

DirectoryInfo dir = new DirectoryInfo("c:\dir");
FileInfo[] files = dir.GetFiles("*.*");

但是这个查询的答案平均为20/30秒。有时持续50秒。那太多了。我想优化它。经过一些谷歌搜索,我发现这可以用WMI完成。但我没有取得任何成功。我收到“RPC服务器不可用”等错误,我无法访问该机器中的更改权限或服务。

有没有人有其他想法?

2 个答案:

答案 0 :(得分:0)

您将无法通过网络获得更快的性能。您正在应对网络延迟,以及影响远程计算机性能的任何事情(例如,磁盘io或高CPU使用率)。

答案 1 :(得分:0)

远程计算机上运行的WCF服务怎么样?这可以接受请求,然后返回带有文件夹和文件的对象图的批量数据传输对象。

我很欣赏这可能不适合您的架构,但如果您可以控制这两种环境,那么它可能是一种前进的方式吗?