Я сталкиваюсь со странной ситуацией, которую, я надеюсь, кое-кто здесь сможет решить. Я написал приложение для клиента на основе FileSystemWatcher, и после того, как оно обрабатывает каждый файл, оно должно переместить файл в хорошую или плохую папку. Проблема в том, что клиент использует AD, который я не могу проверить локально, и, очевидно, должна быть проблема с правами, о которой не сообщается моей программе, поэтому он удаляет файл (следующая операция), даже если Копирование не удалось. В мой лог-файл ничего не записывается, поэтому не генерируется никаких исключений. Я протестировал свою программу локально с подключенными дисками и путями UNC, и она отлично работает для меня. Источник VB.Net, но я не верю, что это актуально.
''' <summary>
''' Moves a file to one of two folders by overwriting the destination and deleting the source
''' </summary>
''' <param name="name">Full path of filename</param>
''' <param name="good">Whether file is moved to good or bad folder</param>
''' <remarks>good should only be true if data was successfully saved.
''' This would include unique key failures because of multiple attempts with the same file.</remarks>
Private Sub moveFile(name As String, good As Boolean)
Dim targetFileName As String
Dim fi As FileInfo = New FileInfo(name)
Try
If good Then
updateStatus("Moving file to Good")
targetFileName = Path.Combine(ProcessedFilesBaseFolder, "ProcessedFiles", "Good", fi.Name)
Else
updateStatus("Moving file to Bad")
targetFileName = Path.Combine(ProcessedFilesBaseFolder, "ProcessedFiles", "Bad", fi.Name)
End If
fi.CopyTo(targetFileName, True)
fi.Delete()
Catch ex As Exception
'It is possible duplicate processing attempts on the same file could be expected to be "normal"
LogErr(ex.Message, True, LogLevel.ERR)
End Try
End Sub
Два каталога создаются при запуске программы, если они не существуют. Запуск от имени администратора ... не помогает. Цель 4.5.2.
Почему не выдается исключение?