15 c# windows filesystems networking
我们有一些基本的C#逻辑,它遍历目录并返回其中的文件夹和文件.当针对无法访问或无效的网络共享(\\ server\share\folder)运行时,代码似乎在从调用返回之前"挂起"大约30秒.
我想最终得到一个方法,它将尝试从给定路径获取文件夹和文件,但没有超时期限.换句话说,完全减少或消除超时.
我已经尝试过一些简单的事情,就像提前验证目录的存在一样简单,认为"不可用"的网络驱动器会很快返回false,但是没有按预期工作.
System.IO.Directory.Exists(path) //hangs
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(path); //hangs
Run Code Online (Sandbox Code Playgroud)
关于什么可以帮助我实现有效(并且希望管理)的解决方案的任何建议?
Jon*_*INE 22
您可以使用此代码:
var task = new Task<bool>(() => { var fi = new FileInfo(uri.LocalPath); return fi.Exists; });
task.Start();
return task.Wait(100) && task.Result;
Run Code Online (Sandbox Code Playgroud)