Bonjour,
Je développe une application qui utilise le file system watcher avec une utilisation dans sa plus simple expression. Ci-dessous l'environnement :
- Framework 3.5
- Création d'une instance watcher qui surveille un répertoire "rep1"
- Création d'un handle Created afin de déclencher un traitement dès lors qu'un fichier est créé dans ce répertoire. Le fichier nom complet est passé en paramètre d'un sub "TraiterFichier".
Dans "TraiterFichier" :
- CRéation d'une streamreader sur ce fichier
- Lecture ligne à ligne
- fermeture du fichier
Le problème :
Quand je dépose des fichiers (noms différents) dans ce répertoire, le traitement se déclenche normalement. De façon aléatoire, (Second dépôt, troisème dépôt etc)), au nième traitement,le fichier ne peut être traité par le fichier avec l'erreur suivante :Je suppose que ce processus qui locke le fichier se produit lors du Handle Created mais je ne sais pas comment le libérer.le fichier est en cours de traitement par un autre processus.
Lorsque je lance ce traitement en mode debug, je ne rencontre pas ce problème. J'ai dons supposé qu'il y a un temps de latence à respecter en le Handhe et l'ouverture du fichier. J'ai donc contourné le problème de la façon suivante :
Lorsque le handle Created se déclenche, j'affiche un message avec le nom du fichier et une validation est attendue. Cependant je ne sais pas à quoi correspond ce problème et donc je ne sais pas comment le corriger .
Merci pour toutes les réponses qui pourront être apportées.
Bonne journée
Partager