azure blob storage-无法从传输连接读取数据:现有连接被远程主机强行关闭

Posted

技术标签:

【中文标题】azure blob storage-无法从传输连接读取数据:现有连接被远程主机强行关闭【英文标题】:azure blob storage-Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host 【发布时间】:2015-01-14 01:08:09 【问题描述】:

我正在使用 Microsoft.WindowsAzure.StorageClient 从 azure blob 存储中获取图像列表,但出现异常 "Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host"。我该如何解决这个异常。

我的代码:

       var azureBlobStorageConnectionString = ConfigurationManager.AppSettings["AzureBlobStorageConnectionString"];

        var azureBlobContainerName = ConfigurationManager.AppSettings["AzureBlobContainerName"];

       // Retrieve storage account from connection string.
       CloudStorageAccount storageAccount = CloudStorageAccount.Parse(azureBlobStorageConnectionString);

        // Create the blob client. 
        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

        // Retrieve reference to a previously created container.

         CloudBlobContainer container = blobClient.GetContainerReference(azureBlobContainerName);

        // Loop over items within the container and output the length and URI.
        var containerList = container.ListBlobs().ToList();

        ImagesUrls = new List<string>();

        foreach (var item in containerList)
        
            var blob = (CloudBlockBlob)item;
            ImagesUrls.Add(blob.Uri.AbsolutePath);
        

【问题讨论】:

关于为什么这不起作用的任何想法?我也遇到了一个非常相似的问题,它在 container.ListBlobs(); 处显示错误;我的容器中也恰好有超过 10K 的 blob。 【参考方案1】:

我认为您的循环在从服务中获取所有数据之前关闭时运行不正常,请检查。

【讨论】:

这里出现错误:"var containerList = container.ListBlobs().ToList();" 我也面临同样的问题 我也面临这个问题【参考方案2】:

超时时间不足以获取记录或容器名称错误。

交叉检查容器名称

如果容器名称没问题,那么

替换

var containerList = container.ListBlobs().ToList();

var containerList = container.ListBlobs(new BlobRequestOptions Timeout = new TimeSpan(3,0,0) ).ToList();

注意:最长超时时间为几小时和几分钟。大约 14 分钟,最短超时时间为 1 秒。

【讨论】:

以上是关于azure blob storage-无法从传输连接读取数据:现有连接被远程主机强行关闭的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 InteractiveBrowserCredential 连接到 Azure Blob 存储

如何使用 C# 中的 Azure.Storage.Blobs 从 Azure 存储 Blob 以 ByteArray 格式获取文件

无法使用 Azure.Storage.Blobs NuGet 包将文件上传到 Azure Blob 存储

如何使用 Azure.Storage.Blobs 上传流

如何使用 SAS 令牌从 C# 连接到 Azure BlobStorage?

VS2015 无法安装包 Azure.Storage.Blobs.12.5.1