.Net File.GetLastAccessTime updates Last Access Ti

2019-06-20 15:22发布

问题:

We are using below line to get Last access date and time of the file.

DateTime dtLastAccesstime = File.GetLastAccessTime(sFilePath);

But we are facing strange problem, the above call itself modifies the Last access time. So effectively we are getting current time as last access time.

回答1:

You may find this post useful, in particular:

Starting in Windows Vista, maintaining the last-access time is disabled by default.

Which means that nowadays most operating systems won't maintain the last access time (which I suppose could account for the odd behaviour you are seeing).

Even if this is not the case this post highlights some of the many scenarios whereby the last access time could have been updated when you didn't mean to - can you be sure that your application doesn't perform any other file access?