2017-03-16 30 views
1

我有以下代碼:Azure的BLOB客戶端設置較短的超時

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

當斑點客戶端不存在,並拋出No connection could be made because the target machine actively refused it時間過長(約一分鐘左右,我相信)。

如何將超時時間縮短到5秒左右?

+0

您能否描述一下「當blob客戶端不存在」的含義? –

回答

0

據我所知,它不會向Azure存儲服務器發送請求,而我們只需調用CloudStorageAccount.CreateCloudBlobClient()方法來創建Blob服務客戶端。它只是創建一個Blob服務客戶端並使用您提供的存儲信息(connectionstring)來配置它。在我看來,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); 
}