FileSystemWatcher et copie de nobreux fichiers

seblx Messages postés 11 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 22 mars 2006 - 21 mai 2005 à 21:06
seblx Messages postés 11 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 22 mars 2006 - 22 mai 2005 à 16:59
Bonjour,



J'essaye de lister dans un log la création de fichier dans un répertoire donné
avec la classe FileSystemWatcher. Tout va bien sauf quand je copie
trop de fichier d'un coup dans le répertoire. A ce moment, ça ne marche plus il
manque des événements dans mon log...







J’ai regardé différent exemple sur le net dont celui-ci http://www.codeproject.com/csharp/DirectoryMirror.asp
qui sert a faire un répertoire miroir. Eh bien, ça ne fonctionne pas si on
copie trop de fichier d’un coup.



Que faire?



Merci a tous

2 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
22 mai 2005 à 07:04
C'est surement une "buffer overflow error" ca signifie que ton buffer en memoire est trop petit pour contenir tout les evenements generes et il deborde.. Mets les proprietes "NotifyFilters" et "IncludeSubdirectories" au minimum et augmente la taille du buffer avec la propriete "InternalBufferSize".. L'erreur ne peut pas etre attrapee dans un try/catch mais elle peut l'etre dans l'evenement Error de FileSystemWatcher..
0
seblx Messages postés 11 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 22 mars 2006
22 mai 2005 à 16:59
Bon en doublant le buffer de FileSystemWatcher, je peux en effet augmenter le nombre de fichier copiés en une fois. Le site de Microsoft indique qu’avec 4 ko on peut suivre 80 fichiers. Mais si on ne connait pas le nombre de fichiers dans le répertoire étudie quelle taille mettre?





Car finalement, des qu’on dépasse la taille du buffer, l’application utilisant cette classe ne fonctionne plus. Ce n’est pas très robuste…


Merci
0
Rejoignez-nous