我们试图访问一个位于网络目录中的目录,但是得到了错误的结果(C# / Windows):
var exists = Directory.Exists("Z:\\Sessions\\Data1");
"Z"是网络目录,"Sessions"是一个录制软件不断创建目录(例如"Data1")并向其中放置一些数据的目录。 似乎Windows缓存了关于Data1错误的状态:该方法返回false。但是当我通过资源管理器访问目录时,它在这里。当我使用资源管理器访问目录后再运行该方法(Directory.Exists),它返回true。当然,我可以保证在第一次尝试时目录确实存在。
这种行为的原因是什么?我能做些什么来解决它吗?
编辑: 似乎Windows无法将网络驱动器连接到远程计算机。当我尝试通过资源管理器浏览目录时,它会自动尝试连接驱动器。
所以问题变成了: 有没有办法通过.NET强制Windows尝试重新连接?
解决方案: 重新连接已断开的网络驱动器