02/08/11 12:48
XBarboX
Ciao a tutti,
sperando di essere nella sezione giusta vorrei porvi una domanda:
ho fatto un programma in c# che controlla le modifiche effettuate sui file utilizzando la classe FileSystemWatcher e il programma funziona benissimo.
Tuttavia, come da documentazione, se provo a modificare/creare/eliminare tanti file insieme non vengono segnalate tutte le modifiche perchè il buffer va in overflow.
Ora vorrei chiedervi come posso essere sicuro al 100% che segnali ogni modifica la classe FileSystemWatcher ?
L'unica idea che mi è venuta è quella di creare un thread per ogni cartella e sotto cartella ma ho paura che diventi mostruosamente pesante.
p.s.
Questo è il codice che ho scritto, non ho incluso l'implementazione degli eventi onchanged, oncreated, ...
codice:
Qualcuno sa aiutartmi? Grazie mille per l'aiuto
sperando di essere nella sezione giusta vorrei porvi una domanda:
ho fatto un programma in c# che controlla le modifiche effettuate sui file utilizzando la classe FileSystemWatcher e il programma funziona benissimo.
Tuttavia, come da documentazione, se provo a modificare/creare/eliminare tanti file insieme non vengono segnalate tutte le modifiche perchè il buffer va in overflow.
Ora vorrei chiedervi come posso essere sicuro al 100% che segnali ogni modifica la classe FileSystemWatcher ?
L'unica idea che mi è venuta è quella di creare un thread per ogni cartella e sotto cartella ma ho paura che diventi mostruosamente pesante.
p.s.
Questo è il codice che ho scritto, non ho incluso l'implementazione degli eventi onchanged, oncreated, ...
codice:
FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = DirectoryControllo; watcher.InternalBufferSize = 4096; //watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | // NotifyFilters.FileName | NotifyFilters.DirectoryName; watcher.Changed += new FileSystemEventHandler(OnChanged); watcher.Created += new FileSystemEventHandler(onCreated); watcher.Deleted += new FileSystemEventHandler(OnDeleted); watcher.Renamed += new RenamedEventHandler(OnRenamed); watcher.IncludeSubdirectories = true; watcher.EnableRaisingEvents = true; while (true) ;
Qualcuno sa aiutartmi? Grazie mille per l'aiuto
aaa