Темы a + b , (оба пытаются удалить файлы).
Сначала вызывается a , затем b , пока a еще работает.
b удаляет файл успешно, но a нет.
Если я запускаю a самостоятельно, файл a удаляется в порядке.
При просмотре кода я вижу, что a MultiAttemptFilename перезаписывается b .
Я не понимаю.
У меня есть вызов ajax, указывающий на универсальный обработчик, который передает имя файла вместе с ним.
В моем обработчике у меня есть следующий код:
Dim Dc As New Document
Dim MyThread As New Thread(AddressOf Dc.DeleteFileMulitAttempt)
Dc.MulitAttemptFilename = Filename
MyThread.Start()
Из моего класса «Документ» я звоню по следующему номеру:
#Region "Delete"
Public MulitAttemptFilename As String = ""
Public Sub DeleteFileMulitAttempt()
Dim TimeBetweenAttempts As Integer = 2000
Dim NumberOfAttempts As Integer = 60
Dim AttemptNumber As Integer = 0
Dim Success As Boolean = False
While (AttemptNumber < NumberOfAttempts)
Try
Success = (DeleteFile(MulitAttemptFilename) = "Ok")
Catch ex As Exception
Success = False
End Try
If (Success) Then Exit While
Thread.Sleep(TimeBetweenAttempts)
AttemptNumber += 1
End While
End If
End Sub
...
Это для обработки отмененных / неудачных загрузок, поскольку они не всегда удаляются сразу (блокировки сервера и т. Д.), Следовательно, цикл.
Я что-то упустил здесь?