Web服务器上的directorynotfoundException在Web服务器上访问网络驱动器上



我们有一个运行挂接的Web服务器,该网络间歇性地对共享网络驱动器进行了以下路径示例:

的路径驱动器
\SXXXXXXXXXX$XXX 

间歇性地抛出system.io.directorynotfoundexception的

,目录是由同一代码创建的。

它似乎可以运行8/10次,并且在2次下抛出异常,如果其空的代码是在异常之后运行的代码,则实际上会删除该文件夹?

这是一个示例代码块:

 var downloadDirectory = "*OMITTED*
        Directory.CreateDirectory(downloadDirectory);
        TestDirectoryCreatedOnNetwork(downloadDirectory);

var dir = new DirectoryInfo(downloadDirectory);
        if (dir.GetFiles().Count() == 0)
        {
            Directory.Delete(downloadDirectory);
            return false;
        }

谷歌搜索将我们带到了以下想法:Directory.CreateDirectory()可能会遭受延迟的影响,因此我们添加了以下内容:

private static void TestDirectoryCreatedOnNetwork(string directory)
    {
        int waitCount = 10;
        do
        {
            if (Directory.Exists(downloadDirectory))
            {
                break;
            }
            Thread.Sleep(10000); // sleep 100ms
            waitCount--;
            if (waitCount <= 0)
            {
                throw new Exception("Failed to create directory");
            }
        } while (true);
    }

我们知道该代码运行了8/10次,因此我们不确定从这里去哪里。

谢谢!

如评论中所述,这是由于网络条件不佳而引起的,我们已经将文件夹创建移至实际的Web服务器本地驱动器上,现在一切正常

最新更新