我公司的代碼庫中包含下面的C#線:使用Directory.Exists當網絡出現故障
bool pathExists = Directory.Exists(path);
在運行時,串path
恰好是該公司的一個文件夾的地址內聯網 - 類似\\company\companyFolder
。當我的Windows機器連接到內部網時,這個工作正常。但是,當連接斷開時(如今它所做的那樣),執行上面的行會導致應用程序完全凍結。我只能使用任務管理器關閉應用程序。
當然,在這種情況下,我寧願讓Directory.Exists(path)
返回false
。有沒有辦法做到這一點?
這可能會輕易吞噬線程池中的所有可用線程,從而導致應用程序內出現更多問題。如果你要做這樣的事情,你需要能夠在超時過後終止操作。 –
@ csharptest.net這是問題,但你不能。 'Directory.Exists'方法不能被超時控制,因爲它本質上是直接下降到本地代碼事件,'Thread.Abort'不會幫助你。 – JaredPar