gpt4 book ai didi

asp.net-mvc - Azure 存储 api 不适用于 asnyc 上传

转载 作者:行者123 更新时间:2023-12-03 03:16:51 25 4
gpt4 key购买 nike

我正在尝试通过 Azure Blob Storage .NET api 上传如此多的文件并使用当前最新版本 4.0.1。在 ASP.NET MVC 应用程序中,我使用异步操作方法通过等待 blobFile.UploadFromStreamAsync 上传,但它确实不起作用,甚至我没有看到异常。它默默地停止在该方法中,但没有成功。

但是如果我将操作方法​​更改为非异步并通过 blobFile.UploadFromStream 方法上传,那么一切都会正常工作。我可能通过异步方式上传,成功率只有 1%,这意味着稳定性非常非常低。

你也经历过同样的事情吗?这是 Storage Api 实现中的错误吗?

这是一个简短的例子。一种是异步的,另一种是非异步操作方法。如果我上传小文件没有任何问题,但下载大文件时会出现问题。在本例中,UploadBlobSec 方法上传时间很短,但 UploadBlob 却需要无穷无尽的时间。

    public async Task UploadBlob()
{
var storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["AzureStorage"].ConnectionString);
var blobContainer = storageAccount.CreateCloudBlobClient().GetContainerReference("files");
var blobFile = blobContainer.GetBlockBlobReference("song.mp3");

using (var stream = new WebClient().OpenRead("http://apolyonstorage.blob.core.windows.net/files/e8b1a1fa-8791-44dc-92ce-1a67a62f7b0f.mp3"))
{
await blobFile.UploadFromStreamAsync(stream);
}
}

public void UploadBlobSec()
{
var storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["AzureStorage"].ConnectionString);
var blobContainer = storageAccount.CreateCloudBlobClient().GetContainerReference("files");
var blobFile = blobContainer.GetBlockBlobReference("song.mp3");

using (var stream = new WebClient().OpenRead("http://apolyonstorage.blob.core.windows.net/files/e8b1a1fa-8791-44dc-92ce-1a67a62f7b0f.mp3"))
{
blobFile.UploadFromStream(stream);
}
}

最佳答案

代码片段看起来不错 - 尽管我不确定它周围的应用程序在做什么。您是否打开服务器日志来查看服务器端发生了什么?对于大文件,您应该看到异步上传转换为几个 PutBlock,然后是一个 PutBlockList。如果您没有看到 PutBlockList,则您的应用程序中可能会发生一些奇怪的事情。

然后假设您确实在服务器日志中看到了这些操作,这显然意味着这些操作正在发生。那时,看看 E2ELatency 数字与 ServerLatency 的比较,我认为您会发现 E2Latency 的巨大差异,因为它包含了客户端花费的时间,因此 E2Latency 要高得多 - 看看您的客户端网络是否会导致该问题,这将是很有趣的。例如,在我的连接上,第一个 PutBlock 上的 e2elatency 为 1346 毫秒,而 ServerLatency 为 137 毫秒。

有关日志记录的更多信息,请查看 here

杰森

关于asp.net-mvc - Azure 存储 api 不适用于 asnyc 上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23908599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com