Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di XBarboX
    Registrato dal
    Dec 2008
    Messaggi
    121

    Classe FileSystemWatcher

    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

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    119
    Se guardi questo esempio, trovi la tua soluzione.
    Sintetizzando:
    puoi incrementare il buffer (quello di default funziona con circa 80 file al colpo)
    Puoi mettere un filtro su quello che vuoi monitorizzare
    Monitoring File System using FileSystemWatcher Class - Part 1

  3. #3
    Il titolo della discussione non è conforme al regolamento, mandami per favore un messaggio privato con la rettifica.
    Chi non cerca trova.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.