我正在使用以下方式通过网络打开目录:
System.Diagnostics.Process.Start(path); // path = UNC network path
但是有 2 个网络路径:
\\This_PC_Does_Not_Exist\dir
\\This_PC_Is_Turned_Off\dir
为什么第一个需要非常快地验证网络 PC 不存在,而第二个需要大约两分钟?如果我没记错的话,在 Windows 环境中需要 30 秒才能确定网络路径是否不可访问。
为什么在这种情况下需要这么长时间以及如何加快 PC 关闭的信息?
最佳答案
为了加载文件,Windows 必须首先与计算机建立文件共享连接。首先,它查找 UNC 名称以获取 IP 地址。如果机器不存在,它就无法获得 IP 地址,并且很快就会失败(如第一个示例中所示)。如果它确实存在(如第二个示例中所示),则 Windows 必须尝试连接。
那么为什么超时应该是 30 秒却需要两分钟?一种可能性是它会重试几次。另一种可能性是您有不同的网络协议(protocol),它必须尝试每一个。
关于C# 使用 Process.Start() 打开不可用的网络路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7599341/