File.Exists在许多异步任务之一中返回false

我正在执行许多任务。 Task的一部分需要检查几个文件的存在,然后检查另一个任务中的每个文件,然后如果文件存在,它将文件的该路径加载到List。

我的代码从数据库获取链接,并从数据库中删除每个符号,以创建要查找或下载的文件名(如果不存在)。如果代码找到它,则文件路径将以适当的索引保存到表中。而且我真的确定path不包含非合法标志或path无效。路径实际上是相同的,就像它工作时一样。

问题是,有时方法File.Exists返回false。当然文件存在于位置。这也不是权限问题,因为其他时候该方法对于完全相同的路径返回true。 每个任务也需要检查唯一的文件。

代码如下:

exists = File.Exists("directory/nameoffile.jpg");

if(exists)
{
  //do something
}

可能是什么问题?在许多任务中运行的File.Exists方法太多吗?

我将添加到其中,当我同步执行时,不会出现该问题。只有在使用“任务”时,我才会遇到这个问题。

x551857914h 回答:File.Exists在许多异步任务之一中返回false

跳过然后检查并仅启动要在文件上执行的操作,并检查您所做的第一件事(打开/移动/重命名/执行)的成功或失败。那就是您需要的“确定”。在并发的情况下,在此情况下,一毫秒,下一秒(反之亦然)是该过程的标准。

本文链接:https://www.f2er.com/3168291.html

大家都在问