2011-08-25 6 views
16

Est-ce que quelqu'un a utilisé le FileSystemWatcher dans l'infrastructure 4 et avez-vous rencontré des problèmes? Je l'utilise dans un service Windows et je ne peux pas permettre qu'il échoue.Quelle est la fiabilité de FileSystemWatcher dans .netFramwork 4?

J'ai entendu d'un ami qu'il est pas très fiable, mais j'ai testé pendant quelques heures maintenant et je ne ai pas eu des problèmes, mais je suis toujours mettre en doute l'utiliser .....

i serait apprécier des conseils à ce sujet, je ne veux pas livrer l'application au client et se rendre compte que cette chose va tomber en panne ....

Merci


Merci pour les gars de conseils

Je pense que pour mon but ça devrait aller. il va vérifier un dossier sur le disque local du serveur et tout ce qu'il vérifie est si un fichier a été modifié, donc je pense qu'il devrait être bon

+0

Beaucoup de gens ont des attentes déraisonnables de FileSystemWatcher - comme croire que "Créé" signifie que le fichier existe, a toutes les données qu'il était destiné à contenir, et aucun autre programme n'y accède actuellement. –

+0

Mais il y a aussi eu des cas dans les versions précédentes où FSW ne voulait tout simplement pas voir les changements évidents qu'il devrait avoir. Je l'ai essayé une fois avec la version .net 2 et je l'ai trouvé inutile pour quelque chose d'aussi simple que de regarder les fichiers en cours de création (je n'essayais même pas d'accéder à ces fichiers). – Tridus

+0

'FileSystemWatcher' n'est pas ce que j'appellerais" relaible ". Si la fiabilité est essentielle, il est préférable de l'utiliser pour des raisons de commodité et d'utiliser également l'interrogation pour s'assurer qu'aucun fichier n'est manqué. Voir [FileSystemWatcher vs polling pour surveiller les modifications de fichiers] (http://stackoverflow.com/questions/239988/filesystemwatcher-vs-polling-to-watch-for-file-changes) – Justin

Répondre

35

FileSystemWatcher repose sur la prise en charge du système de fichiers sous-jacent, de sorte que tous les problèmes de fiabilité avec le système de fichiers sera visible en tant que problèmes de fiabilité avec FileSystemWatcher. Par exemple, si vous regardez un répertoire réseau, la fiabilité du serveur réseau affectera la fiabilité de FileSystemWatcher. Par exemple, le serveur peut tomber en panne et être redémarré. Vous ne serez pas averti des modifications qui se produisent lorsque la connectivité réseau est perdue. Ou le serveur peut simply have a bug qui empêche FileSystemWatcher de fonctionner de manière fiable.

Un autre point est que FileSystemWatcher surveille uniquement les modifications apportées aux métadonnées. Not all file changes result in changes to metadata.

Questions connexes