在我们的项目中,我们使用的是Azure Storage 6.0.0版本,我们正在使用UploadTextAsync
方法创建blob。更新到最新版本后,UploadTextAsync函数停止工作,现在它抛出异常:
"对象引用未设置为对象的实例。"
我尝试过不同的方法来替换它,但所有方法都抛出相同的异常。例如:
byte[] fileBytes = Encoding.UTF8.GetBytes(data);
await lockBlob.UploadFromByteArrayAsync(fileBytes, 0, fileBytes.Length);
我使其工作的唯一方法是更改为同步版本:
BlobRequestOptions blobOptions = new BlobRequestOptions
{
MaximumExecutionTime = TimeSpan.FromSeconds(5),
};
lockBlob.UploadText(data, null, null, blobOptions, null);
如何使异步版本正常工作?有解决方法吗?我真的需要异步版本。
UploadText(async和sync)方法创建blob(如果它已经不存在),并覆盖它,如果它已经存在。
为什么它适用于同步版本而不是与更新的异步?
对于blob创建,这是代码:
var container= client.GetContainerReference("lockblobs");
await container.CreateIfNotExistsAsync();
var lockBlob = container.GetBlockBlobReference(data);