使用類似這樣的東西是否安全以確保目錄當前未被寫入?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