如何确定网络路径是否可用(在线或离线)?

7

使用.NET / C#,如何确定网络路径(例如\ mymachine \ myfolder)是否可用(在线或离线)? 是否有一种方法通过WMI被通知此类事件?

谢谢!

3个回答

6
您可以使用Directory.Exists来检查路径是否存在。
bool folderExists = Directory.Exists(@"\\Path\To\Folder");

如果网络离线,我相信这将返回false,而不是网络在线,但路径不存在。 - Brain2000

2

1

尝试使用它。如果没有使用它,它将导致错误条件。无论如何,您都必须编写针对该条件的代码:为什么要重复呢?


这很昂贵。我更希望操作系统通知我。 - Martin
3
这并没有意义。测试同一条件两次成本更高,并且重复编写相同的恢复代码也是如此。我假设您将在某个时候使用该资源。预先测试其可用性基本无效:您正在引入一个时间窗口,在此期间在测试后它可能变得不可用。基本上,您要求计算机预测未来。 - user207421
仅仅使用它,在某些情况下,会导致像Directory.GetFiles()和OpenFileDialog.ShowDialog()这样的东西似乎挂起几分钟(我可以通过访问共享、断开VPN,然后再次访问共享来实现这一点)。 - Les

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接