'找不到文件'现有文件出错

时间:2014-10-26 20:22:49

标签: asp-classic

我有时在这个小脚本的'DeleteFile'行上有一个'找不到文件'错误: (我想当几个客户端同时打开脚本时)

if objFSO.FileExists(fileName) then
    Set f = objFSO.GetFile(fileName)
    if DateDiff("d", f.DateLastModified, date()) > 3 then
        Application.Lock
        objFSO.DeleteFile(fileName)
        Application.Unlock
    end if
    Set f = nothing
end if

但这应该受到第一行'FileExists'的保护吗? 任何的想法 ?感谢。

1 个答案:

答案 0 :(得分:2)

你正在遇到竞争状态。文件属性缓存在第二行GetFile中。如果该文件存在,则代码将继续运行。您需要在该点之前锁定,或刷新属性缓存并在Application.Lock之后仔细检查是否存在。