2010-02-02 3 views
2

J'ai un FileSystemWatcher qui traite les fichiers en fonction des événements du système de fichiers. Après un certain temps, le processus est toujours actif, mais il ne détecte plus les événements du système de fichiers. Le processus surveille un lecteur de partage réseau local.Qu'est-ce qui provoque la disparition d'un objet FileSystemWatcher?

Quelque chose que je devrais surveiller?

+0

Avez-vous implémenté l'événement d'erreur? –

+0

Traitez-vous l'événement d'erreur pour FileSystemWatcher? – sarvesh

+0

merci, je suppose que c'est une chose "évidente" que j'ai raté! – Timmy

Répondre

3

Probablement de petites baisses de connectivité réseau. Vérifiez this article.

En gros:

  • mis watcher.EnableRaisingEvents = true
  • ajouter un gestionnaire d'événements à watcher.Error

Puis re-bind en cas d'erreur.

+0

merci, semble être une bonne chose à essayer, car je suis sûr que je ne regarde pas pour cela. – Timmy

+0

Merci, il s'est avéré que j'avais "La limite de commande du BIOS réseau a été atteint" qui peut facilement être googlé. – Timmy

2

Je suppose que je ferais mieux de poster la réponse au lieu de le laisser dans le commentaire: avez-vous implémentez l'événement d'erreur? Lorsque vous obtenez des erreurs, augmentez la valeur de la propriété InternalBufferSize. Essayez 16384.

Questions connexes