VB.NET 将文件复制到网络共享 - 找不到网络路径
VB.NET Copy file to network share - The network path was not found
我可以成功复制文件,但前提是网络映射路径处于活动状态。它随机进入非活动状态。我现在有 3 个用户正在测试 - 1 个用户没有问题,1 个直到一天中途才出现问题,1 个用户在第一次尝试时失败了。
有什么方法可以 ping 网络共享直到它连接上,然后再进行复制?我还没有尝试过任何代码,老实说我什至不确定去哪里看。所有 google 个结果都不完全符合要求。
感谢您的帮助!
我想知道它是否因为它没有及时连接而失败(你向文件发出请求,Windows 慢慢地做它到 re-connect,然后你得到一个 'Network path was not found' 因为它超时了)。
如果是这种情况(并且您可以接受),您可以 try/catch 它并重试几次(虽然有点笨拙,但可能会奏效)。您可以(也许应该)首先检查网络驱动器是否可用(您可以使用 System.IO.Directory 查看远程目录是否存在)。
(已编辑)- 这是尝试几次的示例:
Dim counter As Integer = 0
' Loop a few times
While counter < 3
Try
System.IO.File.Copy("c:\test.txt", "c:\test1.txt")
Exit While
Catch ex As Exception
' You can pause here for a specified amount, you can report
' the exception, you can do nothing
End Try
counter += 1
End While
我可以成功复制文件,但前提是网络映射路径处于活动状态。它随机进入非活动状态。我现在有 3 个用户正在测试 - 1 个用户没有问题,1 个直到一天中途才出现问题,1 个用户在第一次尝试时失败了。
有什么方法可以 ping 网络共享直到它连接上,然后再进行复制?我还没有尝试过任何代码,老实说我什至不确定去哪里看。所有 google 个结果都不完全符合要求。
感谢您的帮助!
我想知道它是否因为它没有及时连接而失败(你向文件发出请求,Windows 慢慢地做它到 re-connect,然后你得到一个 'Network path was not found' 因为它超时了)。
如果是这种情况(并且您可以接受),您可以 try/catch 它并重试几次(虽然有点笨拙,但可能会奏效)。您可以(也许应该)首先检查网络驱动器是否可用(您可以使用 System.IO.Directory 查看远程目录是否存在)。
(已编辑)- 这是尝试几次的示例:
Dim counter As Integer = 0
' Loop a few times
While counter < 3
Try
System.IO.File.Copy("c:\test.txt", "c:\test1.txt")
Exit While
Catch ex As Exception
' You can pause here for a specified amount, you can report
' the exception, you can do nothing
End Try
counter += 1
End While