c# - 等待上传完成,天蓝色存储帐户
问题描述
我尝试使用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
}
但是在上传完成之前流程似乎还在继续?
文件上传后,我如何才能继续通过该程序。
解决方案
更改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();
推荐阅读
- palantir-foundry - 如何将 Slate 查询的返回格式从列更改为行?
- java - 需要帮助来停止我的 Java Swing GUI 计时器?
- postgresql - Keycloak + postgresql 配置
- python - 将函数应用于特征,张量是不可散列的。相反,使用 tensor.ref() 作为键
- authentication - 如何验证谷歌服务帐户凭据
- reactjs - React Quill Jest 更改文本值
- javascript - 如何在某些 url 上禁用 body parser json 和 urlencoded?
- python - 从数据框中删除具有特定值的连续重复项
- class - 如何正确连接类与依赖项?
- python - python 是否不再在每次更新时覆盖 py.exe?