使用类似这样的东西是否安全以确保目录当前未被写入?DirectoryInfo.LastWriteTime是一种安全的方式来检查文件是否仍在上传?
Dim ImportDir As New DirectoryInfo("C:\MyPath\")
If DateDiff(DateInterval.Minute, ImportDir.LastWriteTime, Now) < 10 Then
Exit Sub
End If
我处理可高达为10MB,所以我主要的问题是我不知道的LastWriteTime属性是否(这大概引用文件系统“最后修改”元数据)的图像被更新时,首先,将文件的最后或每个字节写入磁盘。
文件通常会通过IIS7 FTP上载到Windows 2008服务器上的NTFS文件系统。如果它依赖于文件系统,尽管知道哪些文件系统会更新。
编辑:我希望这可以用来简化程序,确保整个目录一次处理。最后,我决定重新考虑一下,因为变通办法比我试图避免的变得更加混乱和不可靠!欢呼的答案虽然
时间检查通常是一个糟糕的主意:想象慢速连接(或一些重要的路由器问题w /丢失数据包)和一些缓冲。最后修改可能不会相应更新。最简单的方法是尝试打开文件进行写入,否则将意味着文件仍处于锁定状态。 – bestsss 2011-03-15 13:31:30