0

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

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

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

但是这个查询平均在 20/30 秒内得到答复。有时会持续 50 秒。那太多了。我想优化它。经过一番谷歌搜索后,我发现这可以用 WMI 完成。但我没有取得任何成功。我收到诸如“RPC 服务器不可用”之类的错误,并且我无权更改该机器中的权限或服务。

有没有人有其他想法?

4

2 回答 2

0

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

于 2009-02-18T17:01:59.583 回答
0

远程机器上运行的 WCF 服务怎么样?这可能需要一个请求,然后返回一个带有文件夹和文件对象图的批量数据传输对象。

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

于 2009-02-18T17:09:38.253 回答