Azure blob客户端设置较短的超时

时间:2017-03-16 11:33:08

标签: c# asp.net azure timeout azure-storage-blobs

我有以下代码:

private static CloudBlobClient GetClient()
{
    var account = CloudStorageAccount.Parse(Settings.Deployment.AzureConnectionString);
    return account.CreateCloudBlobClient();
}

当blob客户端不存在并抛出No connection could be made because the target machine actively refused it时,它需要的时间太长(我相信大约一分钟左右)。

如何将超时减少到5秒左右?

1 个答案:

答案 0 :(得分:0)

据我所知,当我们只调用CloudStorageAccount.CreateCloudBlobClient()方法创建Blob服务客户端时,它不会向Azure存储服务器发送请求。它只是创建一个Blob服务客户端,并使用您提供的存储信息(连接字符串)来配置它。在我看来,CloudStorageAccount.CreateCloudBlobClient()不应该导致超时问题,可能程序中的另一个代码片段会导致问题。

Azure存储客户端库的源代码位于GitHub,您可以找到CreateCloudBlobClient()的来源。

/// <summary>
/// Creates the Blob service client.
/// </summary>
/// <returns>A <see cref="CloudBlobClient"/> object.</returns>

public CloudBlobClient CreateCloudBlobClient()
{
    if (this.BlobEndpoint == null)

    {

        throw new InvalidOperationException(SR.BlobEndPointNotConfigured);

    }
    return new CloudBlobClient(this.BlobStorageUri, this.Credentials);
}