这是一个奇怪的。我有一个文件夹结构,如下所示:
Folder A
File
Folder B
File x2
Folder C
File x4
Folder D
File
Folder E
Folder F
File
我正在开发一个小型数据实用程序,除其他外,它将从文件中删除这些文件夹。我正在使用的测试数据非常小;整个目录包含186KB的数据。
我注意到,大多数时候,删除整个目录的操作都需要15-18分钟,这很荒谬。在对于问题可能没有一般概念进行讨论之后,我以下列形式替换了路径:
Directory.Delete(@"\\server\share\FolderA", true);
映射驱动器等效:
Directory.Delete(@"X:\FolderA", true);
突然间,没有问题。完全不能与映射驱动器重现。我接下来尝试了IP地址并且问题仍然存在。
我应该注意,这不会发生永远时间,但在使用UNC路径时大约为90%。同样,映射的驱动器符号也不会发生。
有没有人见过这样的东西?我唯一能想到的是当我使用UNC路径时发生的每请求身份验证,但很难相信删除需要花费15分钟。
编辑:这显然不是链接线程的欺骗。这与大规模减速通过UNC路径与映射驱动器访问相同的远程资源有关。没有资源是本地的,性能差异是不合理的。