FileSystemWatcher ArgumentException之后Directory.Exists返回false

时间:2019-06-03 15:07:41

标签: c# .net

本地驱动器C在远程桌面连接中共享。 我成功地迭代了C \ Program文件中的文件夹。但是,如果我将FileSystemWatcher添加到Program Files的子文件夹中,则其中一些会引发Argument异常-错误的路径(实际上是由EnumerateDirectories方法给出的!)。然后,意外拒绝访问C的其他子文件夹。这是示例代码:

// returns TRUE
var firstTryTrue = Directory.Exists("\\\\tsclient\\C\\DRIVERS");
try
{
    foreach (var item in Directory.EnumerateDirectories("\\\\tsclient\\C\\Program Files"))
    {
        FileSystemWatcher w2 = new FileSystemWatcher(item);
        w2.NotifyFilter = NotifyFilters.DirectoryName | NotifyFilters.FileName;
        w2.IncludeSubdirectories = false;
        w2.EnableRaisingEvents = true;
    }
}
catch (FileNotFoundException ee) { }
catch (ArgumentException ae) { }

// returns FALSE
var secondTryFalse = Directory.Exists("\\\\tsclient\\C\\DRIVERS");

0 个答案:

没有答案