不知何故,我最终得到了返回id的罕见情况,但blob还没有被保存。下面的代码中是否有任何关于C#6在catch语句中异步的内容或者Azure库中的奇怪错误?
private async Task<string> Save(Stream stream)
{
var id = Guid.NewGuid();
var blob = ...;
try
{
await blob.UploadFromStreamAsync(stream);
}
catch
{
if (await blob.ExistsAsync())
{
await blob.DeleteAsync();
}
throw;
}
return id;
}