FileInfo.CopyTo завершается без исключения - PullRequest
0 голосов
/ 18 сентября 2018

Я сталкиваюсь со странной ситуацией, которую, я надеюсь, кое-кто здесь сможет решить. Я написал приложение для клиента на основе 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.

Почему не выдается исключение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...