C# 如何判断网络路径是否存在 w/o new Process

C# How to Determine if Netwokr Path Exists w/o new Process

我想检查某个网络驱动器是否可以访问,如果不能则退出我的插件。它是 VSTO 中的 Outlook 2013 插件。无论如何,如果可能的话,我想通过 UNC 搜索它作为 \192.168.0.2\WAN\ 或者我可以使用驱动器盘符作为最后的手段,但并不是每个人都在我们的驱动器中使用相同的盘符公司。

无论如何,如果我这样做 Directory.Exists("path with correct drive letter"); 它就会挂起。我只想看看它是否存在。

有人可以提供帮助并给我一个小例子吗?

哦,顺便说一句,有一个答案是生成一个进程来使用网络。我想在不生成新进程的情况下执行此操作,想知道这是否可行。

非常感谢

您可以 运行 检查辅助线程,如果它挂起,您可以取消该线程。最简单的方法是使用 BackgroundWorker 组件。请参阅 MSDN 中的 How do I run a simple bit of code in a new thread? for more information. Also see the How to: Create and Terminate Threads (C# Programming Guide)