cs_titi66
Messages postés120Date d'inscriptionmercredi 14 janvier 2004StatutMembreDernière intervention 3 mars 2009
-
14 sept. 2005 à 17:37
TheOnlyMaX
Messages postés37Date d'inscriptionlundi 6 octobre 2003StatutMembreDernière intervention26 avril 2010
-
14 janv. 2009 à 16:41
bonjour
j'utilise FileSystemWatcher pour scanner un répertoire et l'arrivée de nouveaux fichiers xml (déposés automatiquement par la messagerie).
Je regarde dans la methode OnChanged si un fichier est crée, si oui j'instancie une classe qui ouvre le fichier et effectue divers traitements.
Mon problème est que régulièrement j'ai un plantage car le fichier à ouvrir est soi disant utilisé par un autre processus. Cela se produit aléatoirement , ça bloque sur un fichier puis si je recommence avec le meme ça marche ...
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 14 sept. 2005 à 17:49
Salut, je ne suis pas sûr mais peut être que tu ouvres le fichier trop vite, il est encore en écriture et maintenu par le programme qui l'a créé, essaye de mettre un Thread.Sleep( .. ) pour le test, mais si c'est ca faudra trouver une méthode plus efficace.
cs_69chris
Messages postés318Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention30 décembre 20051 14 sept. 2005 à 18:18
Salut,
Comme dit Lutinore, fais une boucle d'essai d'ouverture avec un petit sleep dedans.
Sinon, il y a un autre problème avec le FileSystemWatcher.
Expérience
perso : Code un gestionnaire pour l'evenement OnError du FSW. Ca
pourrait t'aider si tu arrètes de voir les fichiers arriver ;p. Dans ce
cas, tu doit détruire et créer un nouveau FSW.... (Forcement,
aucune doc sur le site MS :( )