Tôi đã viết một công cụ để thu thập các tệp nhật ký trong một cửa sổ thời gian được chỉ định bởi người dùng công cụ. Cho đến bây giờ tôi đã dựa vào tập hợp các tệp nhật ký bằng cách sử dụng phương thức File.GetLastWriteTime trên các tệp nhật ký, so sánh với thời gian người dùng đã nhập và thu thập dựa trên kết quả của các so sánh này. Dưới đây là một đoạn mã nhỏ:File.GetLastWriteTime dường như trả về giá trị 'lỗi thời'
DateTime logFileEnd = File.GetLastWriteTime(matchingActiveLogFile);
Tuy nhiên, tôi nhận thấy công cụ của tôi không thu thập được một số tệp nhật ký mà tôi đã nghĩ. Có vẻ như DateTime được trả về bởi phương thức này đã lỗi thời, (có đăng nhập gần đây hơn trong tệp so với giá trị của datetime này).
Khi tôi xem 'Ngày sửa đổi' của tệp được đề cập, nó cũng đã quá 'lỗi thời', gần đây có đăng nhập tệp hơn 'Ngày sửa đổi'.
Tôi làm cách nào để có được giá trị 'GetLastWriteTime' hoặc Date Modified chính xác?
Ý của bạn là gì bởi * DateTime được trả về theo phương pháp này đã lỗi thời *? – V4Vendetta
ngày không cập nhật sau một thời gian? Ví dụ: khi bạn thấy ngày đó được sửa đổi là 'lỗi thời', hãy đợi ~ 30 giây và sau đó kiểm tra lại ngày. – Reniuz
Cũng đọc bài viết này: 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 có thể là bạn gặp cùng một số – Reniuz