Public Sub DeownloadFile(ByVal networkfile As String, ByVal locationFileName As String, ByVal PaperDownloadLog As String, ByVal strReferer As String)
For index = 1 To 3 '如获取不了重试3次
Dim task As NewTaskDelegate = AddressOf TrytoDownloadFile
Dim asyncResult As IAsyncResult = task.BeginInvoke(networkfile, locationFileName, PaperDownloadLog, strReferer, Nothing, Nothing)
Dim marktime As Integer = 0
While Not asyncResult.IsCompleted And marktime < 30 '五分钟内未完成就跳过
marktime += 1
'MessageBox.Show("还没完成?那我先sleep" & marktime)
Threading.Thread.Sleep(1000)
End While
Dim result As Integer = task.EndInvoke(asyncResult)
If result > 0 Then Exit For
Next
'Dim result As Integer = task.EndInvoke(asyncResult)
'MessageBox.Show(result.ToString())
End Sub
Private Delegate Function NewTaskDelegate(ByVal networkfile, ByVal locationFileName, ByVal PaperDownloadLog, ByVal strReferer) As Integer
Public Function TrytoDownloadFile(ByVal networkfile As String, ByVal locationFileName As String, ByVal PaperDownloadLog As String, ByVal strReferer As String)
Public Sub DeownloadFile(ByVal networkfile As String, ByVal locationFileName As String, ByVal PaperDownloadLog As String, ByVal strReferer As String) For index = 1 To 3 '如获取不了重试3次 Dim task As NewTaskDelegate = AddressOf TrytoDownloadFile Dim asyncResult As IAsyncResult = task.BeginInvoke(networkfile, locationFileName, PaperDownloadLog, strReferer, Nothing, Nothing) Dim marktime As Integer = 0 While Not asyncResult.IsCompleted And marktime < 30 '五分钟内未完成就跳过 marktime += 1 'MessageBox.Show("还没完成?那我先sleep" & marktime) Threading.Thread.Sleep(1000) End While Dim result As Integer = task.EndInvoke(asyncResult) If result > 0 Then Exit For Next 'Dim result As Integer = task.EndInvoke(asyncResult) 'MessageBox.Show(result.ToString()) End Sub Private Delegate Function NewTaskDelegate(ByVal networkfile, ByVal locationFileName, ByVal PaperDownloadLog, ByVal strReferer) As Integer Public Function TrytoDownloadFile(ByVal networkfile As String, ByVal locationFileName As String, ByVal PaperDownloadLog As String, ByVal strReferer As String)