c# - Directory.Exists 在 FileSystemWatcher ArgumentException 之后返回 false
问题描述
本地驱动器 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");
解决方案
推荐阅读
- javascript - 尝试读取从反应 js 中的 API 返回的响应时获取未定义
- google-compute-engine - 谷歌云控制台 - 找不到 phpmyadmin 404
- selection - bootstrap-vue 选择带有过滤器选项的组件?
- android - 为什么 API Level 29 WiFi 连接需要密码?
- php - PHP Traits 通用和单个(单独)属性范围
- c# - 如何将滚动条与 RichTextBox 中的行匹配
- swift - 在 TableViewCell 中使用协议发现 Nil
- firebase - 如何保护电子邮件地址不被阅读,但在前端使用 Firestore 使其可搜索?
- winforms - 从 Citrix 上托管的 WinForm 应用程序运行客户端计算机的进程
- mongodb - MongoDB 中的多个 $lookup 和排序嵌套数组