2009-02-18 9 views
0

J'essaie d'interroger le système de fichiers sur une machine distante afin d'obtenir une liste de noms de fichiers dans un répertoire spécifique.Comment faire une requête rapide au système de fichiers?

Jusqu'à présent, je suis en utilisant la classe DirectoryInfo dans .NET. Quelque chose comme ceci:

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

Mais cette question répond en moyenne de 20/30 secondes. Parfois dure 50 secondes. C'est trop. Je veux l'optimiser. Après quelques recherches, j'ai trouvé que cela pouvait être fait avec WMI. Mais je ne reçois aucun succès. Je reçois des erreurs comme "serveur RPC est indisponible" et je n'ai pas accès à modifier les autorisations ou les services dans cette machine.

Quelqu'un a-t-il d'autres idées?

Répondre

0

Vous n'aurez pas des performances plus rapides allant à travers le réseau. Vous combattez la latence du réseau, ainsi que tout ce qui se passe pour affecter les performances sur la machine distante (par exemple, le disque io ou l'utilisation élevée du processeur).

+0

moins que ce soit un dossier très important qui ne compte que quelques secondes: certainement moins de 10 et pas le 20-30 + il plaint. Si c'est un très gros dossier, alors peut-être. –

+0

Le problème ne réside pas dans le réseau. comme Joel a dit que c'est un très gros dossier et que la machine est surchargée par un service web qui retourne les noms de fichiers pour un répertoire spécifique. Je veux optimiser le service Web (il est pas dans la même machine où les fichiers sont) lorsqu'il interroge le système de fichiers – rguerreiro

0

Qu'en est-il un service WCF en cours d'exécution sur la machine distante? Cela peut prendre une requête, puis renvoyer un objet de transfert de données en bloc avec un graphique d'objet des dossiers et des fichiers.

J'apprécie cela pourrait ne pas correspondre à votre architecture, mais si vous avez le contrôle sur les deux environnements, il est peut-être une voie à suivre?

+0

qui est un bon ideia mais je n'ai pas le contrôle dans la machine à distance :( – rguerreiro

+0

assez juste, il C'était un peu le champ gauche de toute façon, ça pourrait être utile pour quelqu'un qui navigue sur StackOverflow dans le futur, de toute façon. –

Questions connexes