Webclient eventhandlers не стреляет ...
Я использую следующий код, чтобы связать некоторые обработчики событий с клиентом.UploadProgressChanged и клиент.UploadFileCompletedEventHandler
try { WebClient client = new WebClient(); client.Credentials = new NetworkCredential(txtFTPUserName.Text, txtFTPPassword.Text); client.UploadProgressChanged += new UploadProgressChangedEventHandler(UploadProgressChangedEventArgs); client.UploadFileCompleted += new UploadFileCompletedEventHandler(UploadFileCompletedEventHandler); progBar.Visible = true; progBar.Value = 0; client.UploadFile(@"ftp://novantconsulting.com/SQLBackups/StrataFrame.bak", @"E:\Strataframe.bak"); } catch (Exception exception) { Console.WriteLine(exception); throw; }
Вот обработчик событий:
private void UploadProgressChangedEventArgs(object sender, UploadProgressChangedEventArgs e) { int percentage = (Convert.ToInt32(e.BytesSent) / Convert.ToInt32(e.TotalBytesToSend)) * 100; if (progBar.Value < progBar.Maximum) { progBar.Value = percentage; } else { progBar.Value = 100; } }
Очевидно, я пытаюсь отобразить строку состояния, но событие никогда не срабатывает.
Заранее спасибо за вашу помощь,
CTBlankenship
Что я уже пробовал:
Только то, что вы видите в коде ... Я погуглил Диккенса из него и начинаю думать, что асинхронное решение подходит ко мне. Я просто еще не сделал никакой асинхронной работы.
RickZeeland
Вы используете WPF ? это известная проблема в WPF.
Charles T. Blankenship
Нет... WinForms ...