Я использую Webclient для загрузки данных с помощью асинхронного вызова на сервер,
WebClient webClient = new WebClient();
webClient.UploadDataAsync(uri , "PUT", buffer, userToken);
Я прикрепил события DatauploadProgress и DatauploadCompleted к соответствующим функциям обратного вызова
// Upload Date Completed
webClient.UploadDataCompleted += new
UploadDataCompletedEventHandler(UploadDataCallback2);
// Upload Date Progress
webClient.UploadProgressChanged += new
UploadProgressChangedEventHandler(UploadProgressCallback);
и в функциях я пытаюсь показать некоторые MessageBoxes:
// Upload Date Progress
void UploadProgressCallback(object sender, UploadProgressChangedEventArgs e)
{
MessageBox.Show( this,"Upload Progress ,x =" +x);
x++;
MessageBox.Show(e.BytesSent.ToString());
}
// Upload Date Completed
void UploadDataCallback2(object sender, UploadDataCompletedEventArgs e)
{
MessageBox.Show(this, "Upload Done,x =" +x);
x++;
MessageBox.Show(ASCIIEncoding.UTF8.GetString(e.Result));
}
Где x - глобальная переменная, однако по какой-то причине x не увеличивается, и во всех окнах сообщений отображается x = 0 ..
Любое объяснение будет высоко ценится.