我有以下代码:
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秒左右?
答案 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);
}