Web服务器访问网络驱动器上的间歇性System.IO.DirectoryNotFoundException

时间:2019-02-13 18:52:27

标签: c# asp.net-mvc hangfire

我们有一个运行hangfire的Web服务器,该服务器间歇地轮询共享的网络驱动器,路径示例为:

!pip install scrapy

间歇性地引发System.IO.DirectoryNotFoundException,但是该目录是由同一段代码创建的。

似乎可以正常运行8/10次,并且在抛出异常的2次运行中,如果文件夹为空(实际上是在异常发生后运行的代码),则实际上删除了该文件夹吗?

这是一个示例代码块:

\\SXXXXX\XXXXX$\XXX\ 

Google搜索使我们想到:Directory.CreateDirectory()可能会遭受延迟的困扰,因此我们添加了以下内容:

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


var dir = new DirectoryInfo(downloadDirectory);

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

我们知道代码之所以有效,是因为它可以运行8/10次,因此我们不确定从何而来。

谢谢!

1 个答案:

答案 0 :(得分:-1)

正如评论中所提到的,这是由于网络状况不佳所致,因此我们已经将文件夹创建移至实际的Web服务器本地驱动器上,并且一切正常