我想将大文件(2 到 40 GB 之间)上传到 Azure Blob 存储。
首先,我成功地将每个文件拆分为块(每个块 = 2 MB)。然后我一个一个地上传块,在每个块上传成功后,我更新一个临时文件以便能够在应用程序关闭的情况下恢复上传。
现在我想让上传操作多线程。在查看了 TPL 之后,我很困惑从哪里开始!
任何指导从哪里开始 TPL?
void Upload(int segmentId)
{
try
{
string blockId = GetBlockId(segmentId);
var segment = GetSegment(FilePath, segmentId, SeqmentSize);
var md5Hash = CalcMd5Hash(segment);
var blob = new CloudBlockBlob(_link.Uri);
using (var memoryStream = new MemoryStream(segment))
{
blob.PutBlock(blockId, memoryStream, md5Hash);
}
SerializeStatus();
}
catch (Exception exception)
{
...
}
}