首页 > 解决方案 > 等待上传完成,天蓝色存储帐户

问题描述

我尝试使用CloudBlockBlob#UploadFromStreamAsync将本地文件上传到 Azure blob,

public async Task UploadFile()
{
    await blob.UploadFromStreamAsync(new FileStream(...));
}

public async void UseIt()
{
    await UploadFile();
    UseFile(); // breaks bc file isn't uploaded
}

但是在上传完成之前流程似乎还在继续?

文件上传后,我如何才能继续通过该程序。

标签: c#azure

解决方案


更改await blob.UploadFromStreamAsync(new FileStream(...))blob.UploadFromStreamAsync(new FileStream(...)).GetAwaiter().GetResult()

然后下面的代码将等待它完成。

或者,如果您定义如下异步方法:

public static async Task UploadFile()
{

//other code

await cloudBlockBlob.UploadFromStreamAsync(mystream);

}

然后在该main方法中,您可以调用 UploadFile 方法,如下所示:

UploadFile().GetAwaiter().GetResult();

推荐阅读