Aracın kullanıcısı tarafından belirtilen bir zaman aralığı içinde günlük dosyaları toplamak için bir araç yazdım. Şimdiye kadar, log dosyalarındaki File.GetLastWriteTime yöntemini kullanarak log dosyalarını derlemeyi temel alarak, bu karşılaştırmaların sonucuna göre kullanıcının girdiği ve topladığı zamanları karşılaştırdım. İşte küçük bir kod parçacığı geçerli: File.GetLastWriteTime, 'out of date' değerini döndürüyor görünüyor '
DateTime logFileEnd = File.GetLastWriteTime(matchingActiveLogFile);
Ancak ben bunu yapmalıydım düşünce bazı günlük dosyalarını toplamak daha hiç benim aracı fark etti. Bu yöntemin döndürdüğü DateTime'ın güncel olmadığı görülüyor, (dosyada bu tarihin değerinden daha yeni kayıtlar var).
Söz konusu dosyanın 'Tarih Değiştirme' bölümüne baktığımda, 'tarihin dışında' olduğu için dosyada 'Tarih Değiştirme'den daha yeni bir günlüğe kaydetme var.
Doğru bir 'GetLastWriteTime' veya Tarih Değiştirilmiş değeri nasıl alabilirim?
Ne demek istiyorsun * Bu yöntemin döndürdüğü DateTime tarihi geçmişti *? – V4Vendetta
tarihi bir süre sonra güncellenmiyor mu? Örneğin, değiştirilen tarihin “tarihi geçmiş” olduğunu gördüğünüzde, bekleyin ~ 30 saniye sonra tekrar tarihi kontrol edin. – Reniuz
Ayrıca bu makaleyi okuyun: http://blogs.technet.com/b/asiasupp/archive/2010/12/14/file-date-modified-property-are-not-updating-while-modifying-a-file- without-closing-it.aspx, aynı – Reniuz