问题描述
问题描述:我在WindowsForm程序中,在OnLoad()函数中利用Directory.Exist(directPath)来读取目录中的文件.这个目录为另一机器中的映射的逻辑驱动器。当那台机器没有开机或者死机时,此时本机的逻辑驱动路径就无法访问,这时Directory.Exists()函数读取路径时,程序会非常慢,出现“假死”现象,好长时间没有反应。待解决问题:如何解决因为逻辑驱动器目录不存在而造成的因调用Exists函数出现的程序“假死”问题呢???
解决方案
解决方案二:
放到另外一个线程里去执行不要放到UI线程里
解决方案三:
先ping一下,看看能否连上System.Net.NetworkInformation
解决方案四:
还有别的方法吗?有没有专门的类型库可以简单的解决此问题?
解决方案五:
给个记时器,最多10秒无响应,退出
解决方案六:
简单的没有。只能自己去识别这种情况。如果为网络影射的驱动器,最好先确认网络是否通畅(2楼兄弟的解答).windows系统影射网络驱动器时,始终需要查找网络是否存在,工作是否正常等等。简单的测试就是用windowexplorer代开一个不存在的网络地址。你会发现,慢的出奇。
解决方案七:
用backgroundWorker进行异步测试吧,测试成功后置一个标志,并在状态栏显示点按钮时检测标志,未成功给提示信息,让用户等待或者说连不上远程连接服务器测试都这么干的
解决方案八:
先检测网络,在你程序上搞计时或者计数
解决方案九:
有问题请先GOOGLE,BAIDU
时间: 2024-08-30 22:53:17