我正在开发一个 C# Winforms 应用程序,部分应用程序将使用 AsyncUpload 将文件上传到网络服务器(使用它,由于需要使用 porgress 回调),在 C# 程序中
我有一个简单的 for 循环调用上传函数
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
}
编辑
逻辑顺序:
- Fun 被调用(来自循环)
- 有趣的逻辑被执行并完成..
- 回到for循环
- 当 UploadFileAsync (在另一个线程中运行一些逻辑)将结束时,最终将调用回调
问题出在第三点,当执行移回 for 循环时,我需要阻止循环继续,直到回调被调用。