如何将重试方法添加到dropbox上载函数C#winforms
我正在winforms应用程序中使用dropbox api进行图片上传。我想,当图片上传不成功,然后它自动重试后2秒上传它。此方法每2分钟调用一次,如果上载不成功,它将重试上载如何将重试方法添加到dropbox上载函数C#winforms,c#,winforms,C#,Winforms,我正在winforms应用程序中使用dropbox api进行图片上传。我想,当图片上传不成功,然后它自动重试后2秒上传它。此方法每2分钟调用一次,如果上载不成功,它将重试上载 static string token = "ABC"; async Task Uploaded() { using (var dbx = new DropboxClient(token)) { bmp
static string token = "ABC";
async Task Uploaded()
{
using (var dbx = new DropboxClient(token))
{
bmp = new Bitmap(picboxcapture.Image);
string folder = "/pic/" + Login.recuser + "";
string filename = DateTime.Now.ToString() + " " + " " + MyTodo_Project.rectsk + ".JPG";
string URL = picboxcapture.Image.ToString();
ImageConverter converter = new ImageConverter();
byte[] bytes = (byte[])converter.ConvertTo(picboxcapture.Image, typeof(byte[]));
var mem = new MemoryStream(bytes);
var updated = dbx.Files.UploadAsync(folder + "/" + filename,
WriteMode.Overwrite.Instance, body: mem);
updated.Wait();
var tx = dbx.Sharing.CreateSharedLinkWithSettingsAsync(folder + "/" + filename);
tx.Wait();
URL = tx.Result.Url;
}
}
private async void save_Load(object sender, EventArgs e)
{
await Uploaded();
}
您需要删除
updated.Wait()代码>和tx.Wait()代码>并等待这些方法。评估结果并等待任务。如果您对任务不满意并希望重试,请延迟(2000)
。您还需要显示调用async Task Uploaded()
的代码以及调用此方法的上下文(事件处理程序、另一个方法体等)。如果目标是有一个try/retry逻辑,那么这就是答案-