Получение дополнительной информации о результатах после загрузки через FTP WebClient UploadFileAsync - PullRequest
0 голосов
/ 28 апреля 2011

После того, как мой код vb.net использует WebClient для загрузки по FTP UploadFileAsync, эта подпрограмма называется:

Sub FtpCompleted(ByVal sender As Object, ByVal e As Net.UploadFileCompletedEventArgs)
End Sub

Загрузка работает, и подпрограмма вызывается ... но какой код я бы поставилвнутри него ... чтобы получить информацию вроде:

The name of the source-file that just completed?
The name of the destination-file?
The number of bytes transferred?
An error or success number?
An error or success string?
The time the upload started?

Какая информация IS доступна для меня ... когда все, что у меня есть, это SENDER и E переменные?

1 Ответ

0 голосов
/ 28 апреля 2011

Для исходного файла при запуске асинхронного процесса вы можете указать объект токена пользователя и сослаться на него в объекте e.userstate. Это просто простой объект, поэтому вы можете поместить в него все, что захотите, чтобы отследить, что вышло. По крайней мере, это мое понимание, я никогда не использовал объект e.userstate.

Что касается ошибки или успеха, всякий раз, когда вы ссылаетесь на асинхронные завершенные события, вы всегда должны сначала проверять, является ли e.error ничем, прежде чем ссылаться на любые другие свойства e. Если e.error - это ничто, а e.cancelled - ничто, передача прошла успешно. Если e.error не является ничем, тогда выполните поиск e.error, чтобы найти ошибку. Не ссылайтесь на e.result, если e.error - это что-то, потому что это вызовет исключение.

Кроме того, объект-отправитель не ссылается на исходный объект, который вы использовали для отправки файла? Выполните преобразование Ctype, и вы сможете получить подробную информацию о том, что вы отправили.

...