Я занимаюсь разработкой приложения C # Winforms, часть приложения будет загружать файлы на веб-сервер, используя AsyncUpload (используя его, из-за необходимости использовать обратный вызов porgress), В программе C #
у меня есть простой цикл for, который вызывает функцию Uploading
for(int i=0;i < 10 ; i++)
{
Uploadfun();
}
А веселье творит волшебство:
Uploadfun()
{
// Logic comes here
// webClient.UploadFileAsync runs a 2nd thread to perform upload ..
webClient.UploadFileAsync(uri, "PUT", fileNameOnHD);
}
И обратный вызов, который вызывается после завершения асинхронной загрузки
Upload_Completed_callback()
{
//Callback event
}
Редактировать
Логическая последовательность:
- Веселье вызывается (из цикла)
- Забавная логика выполнена и выполнена ..
- Возвращается к циклу
- Обратный вызов будет вызван в конце концов, когда UploadFileAsync (который выполняет некоторую логику в другом потоке) завершится
Проблема в 3-й точке, когда выполнение возвращается к циклу for, мне нужно заблокировать продолжение цикла до тех пор, пока не будет вызван обратный вызов.