Oppure

Loading
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:
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
02/08/11 14:08
frungillo
Io sono stato alle prese con il FSW per un pò, come hai potuto sperimentare anche tu, l'ho trovato totalmente inaffidabile, non so' dirti il perchè ma spesso anche controllando un solo file si perde le modifiche per strada....
aaa