0

特定のディレクトリ内のファイル名のリストを取得するために、リモート マシンのファイル システムにクエリを実行しようとしています。

今までは、.NET で DirectoryInfo クラスを使用していました。このようなもの:

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

しかし、このクエリは平均 20/30 秒で応答します。50秒続くこともあります。それは多すぎる。最適化したい。グーグルで調べたところ、これは WMI で実行できることがわかりました。しかし、私は成功していません。「RPC サーバーが利用できません」などのエラーが表示され、そのマシンのアクセス許可またはサービスを変更するアクセス権がありません。

他に考えがある人はいますか?

4

2 に答える 2

0

リモート マシンで実行されている WCF サービスについてはどうでしょうか。これは、リクエストを受け取り、フォルダとファイルのオブジェクト グラフを含む一括データ転送オブジェクトを返すことができます。

これがあなたのアーキテクチャに合わない可能性があることは承知していますが、両方の環境を制御できる場合は、前進する方法になる可能性がありますか?

于 2009-02-18T17:09:38.253 に答える
0

ネットワークを介して高速なパフォーマンスが得られることはありません。ネットワーク レイテンシだけでなく、リモート マシンのパフォーマンスに影響を与えるあらゆる事象 (ディスク io や高い CPU 使用率など) と戦っています。

于 2009-02-18T17:01:59.583 に答える