如何解决如何从 .NET Core Web API 高效地将多个文件上传到 Azure blob?
我在 API 控制器中有以下一段代码,用于将多个文件上传到特定用户/会话的 Azure Blob 存储。
这是有问题的代码片段,平台是 ASP.NET Core 3.1。:
foreach (var file in files)
{
if (file != null)
{
if (file.FileName == "")
{
// Do some work
}
string path = pathPrefix + file.FileName;
await _blobsService.UploadFileBlobAsync(path,file);
}
else
{
return false;
}
}
据我所知,每次调用 await _blobsService.UploadFileBlobAsync(path,file);
都会被阻塞,直到文件上传完毕,然后我们才会前进到下一个文件。
关于这个我有三个问题。
-
虽然您希望文件按顺序上传,但从 Azure 门户应用程序洞察 端到端事务 似乎某些文件与同时上传 下图?
-
在 HTTP 请求性能(即响应时间)方面获得速度的最佳方法是什么?我应该为所有文件触发 UploadFile 方法,然后等待所有文件完成,还是应该使用
Parallel
? -
如果并行触发所有请求是解决方案,这是否意味着 Azure Blob 存储会达到这样一个程度:对上传端点的许多 HTTP 请求会削弱其他客户端的资源?
提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。