Dosya sistemini değiştirilmiş, eklenmiş veya kaldırılmış dosyalar veya alt dizinler için yoklamak istiyorum. Tüm değişiklikler hızlı bir şekilde tespit edilmeli, ancak makineye basınç uygulanmadan. İşletim Sistemi Windows> = Vista, gözlenen kısım yerel bir dizindir.Değişiklikler için çok sayıda dosyayı nasıl seçmeliyim?
Tipik olarak, bir FileSystemWatcher'a başvururdum, ancak bu, aynı noktayı (belirgin olarak Windows Gezgini) izlemeyi deneyen diğer programlarla ilgili sorunlara yol açtı. Ayrıca, FSW'nin yerel klasörler ve büyük bir arabellek için bile güvenilir olmadığını duydum.
Sahip olduğum ana sorun, dosya ve dizin sayısının çok büyük olabileceği (7 basamaklı tahmin). Her saniyede bir dosya için bir kontrol yapmak, makinemi etkileyebilir.
Bir sonraki düşüncem, genel etkiyi azaltmak için saniyedeki tüm ağacın farklı bölümlerini kontrol etmekti ve muhtemelen daha sık aralıklarla sık sık değiştirilen dosyaları incelemek gibi bir tür heuristik ekleyecekti.
Bu tür sorunların kalıpları olup olmadığını veya bu durumla ilgili deneyimleri olup olmadığını merak ediyorum.
Tüm alt klasörler tek bir kök altında mı? Windows gezgini ile ne tür problemler yaptın? İşte herhangi bir mesajı kaçırmamak için bir desen. http://stackoverflow.com/questions/4967095/c-predict-file-system-events-on-folder-delete/4968391#4968391 – adrianm
@adrianm: Evet, aynı kök. - Explorer, izlenen bir klasör değiştiğinde görüntüsünü güncellemedi, sanırım FSW olaylarını çaldı. – mafu